I can only comment on my own experience in developing as a programmer to a software designer and then software system architect. I now refer to myself as a software designer/architect no matter what title I might have in a given work relationship.
First, I find the Microsoft work on architects and architecture rather interesting for its careful identification of the different kinds of architecture that are involved (e.g., infrastructure, solutions, and enterprise). It is important to differentiate. There have also been valuable webcasts on development as an architect. Most of this is not specific to Microsoft technology.
With regard to having task knowledge and ability to work hands-on, my sense is that this becomes necessarily limited except for two things: There must be enough technology knowledge so one could dive in and can certainly guide other developers (at the solutions level and deeper). In addition, an architect may hold the reins to critical invariants and may actually own the specifications and code that are tied to that. This is similar to the architectural role involving defining and preserving the critical interfaces and the separations of concerns via the chosen architecture.
Now, with regard to my own experience, I started out as a highly-inquisitive programmer and then software developer in the late 50s and early 60s. There was ample opportunity for being self-taught and also follow the work that would grow into software engineering, software quality-assurance, and various development methodologies, including reliance on programming languages.
What I noticed for me is that I moved farther and farther toward concern for design and organization of my software efforts, both through learning from the software of others, through reading in the literature of the time, and in wanting to understand how to make software designs explainable and the implementations confirmable and conceptually understandable. I also found myself very attentive to modularization and the creation of useful libraries and related tools.
This observation is in terms I use now, looking back. At the time, my interest was not so well-articulated. There was mostly a certain restlessness and wanting to have ways to be confident in my work and my understanding of it. In fact, preserving my confidence in approaches and how I demonstrated success was a consistent presence as I learned to grasp larger and larger development situations. The level of abstraction of that confidence was raised gradually without my noticing so much at the time. I also think it paced the raising of our grasp through use of more powerful tools for development and attention that was paid to growing a body of practice.
In the 70s-80s I saw myself as a software designer. But it was really in the late 80s and 90s that I began to notice how much my attention was on the end-to-end, full software-development/deployment lifecycle. It was also in this period that I was viewed as and acted as an architect (although my first Architect title, as such, was in 1972). My attention was also on how projects fail and how developers often have their attention on the wrong ball. So I was also interested in what would have developers pay attention to factors that would allow them to have more successful results. I was a big Fred Brooks, DeMarco, and Yourdon fan.
In this century, I have been impressed by the emergence of software engineering and software-development management as disciplines with a substantial body of knowledge (as illustrated in the work of Steve McConnell), and the emergence of agile development and management is inspiring to me. I find myself working at a more-abstracted level, also.
With regard to development itself, I am now a little dismayed at how poor the on-ramp for entry-level software developers and budding computer scientists is. It seems we have forgotten something or maybe we never really new it, but I see gaps in how people become experienced and raise their level of mastery, and wonder what kind of preparatory support would be more effective.
Although I write less code these days, I still enjoy it and I notice it is often in challenging areas that others have left behind or that are simply not part of the current developer kit. Part of my fit for that is I remember how to work at those levels and more-recent developers have never been exposed to them. I don't think that is a problem so much as the lack of fundamental understanding that I think is also missing. I'm not sure what would bridge that gap and still be relevant for the level at which developers now finding themselves working.