The key is to cover roles. Whether the roles are separate individuals, or a small group of talented generalists doesn't matter.
Where UX fails is when UX is designed with one of those roles missing. If the team is missing someone with presentation layer code skills, odds are the design will not necessarily be practical to build. If the team is missing someone with a background in accessibility, odds are the design may not meet basic accessibility standards. Etc.
As far as hierarchy of the team, I find the best teams don't care about it and collaboarate. The best UX design processes I have been a part of have typically been in war-room settings where a group of people brainstorm, sketch, and walk through wireframes doing heuristic evaluations as a group. The group was usually made up of the following roles:
- business line representative
- visual designer
- presentation layer developer
- software representative (the DBA, or the tech lead of the programming team)
- user tester/accessibility role
- business analyst
- info architect
- competitive research/industry trends analyst
Whenever I've been on a UX project where there were major road bumps, it was due to one of those roles missing from the initial brainstorming phases.
As for titles, well, that's an issue with our particular industry. I've found titles like 'experience designer' or 'information designer' and the like rarely have the same job description from organization to organization.
And, finally, my stock answer to this type of question: It's better to have a small group of talented, experienced generalists rather than a larger team of experts, but missing one or more of the above roles.