Fancy job titles and funny job descriptions aside, i always thought that the ability to perform critical architecture related decisions is something that <i>every</i> developer should some day achieve, making this "software architect" as a natural step of the evolution of every developer.
And regarding UML, having seen it misused and misunderstood a lot of times, it's just a tool, the same ideas can be expressed with other means, what counts is that the content is clearly explained and correctly understood.