Often, if not always, roles are more about responsibility and function than about power.
There's no reason a store manager can't mop the floor or that a janitor can't help solve a customer's financial issue, but the roles (in this case, defined their job titles) represent who is responsible for what. Once your role is fulfilled, you can do things outside of role. So, to continue the example, the janitor can answer phonecalls and emails, but he's being paid for cleaning. If the store isn't clean, it doesn't matter much how he helped the store's customers in other ways. It's honorable when the store manager helps clean the store himself, but not if he neglects his duties in the process.
In other words, roles are not defined by abilities alone. Just because you are capable of doing something, that doesn't mean you should do it or are responsible for it. And just because you're responsible for a particular role, that doesn't mean your abilities should be limited to that role.
And there's the rub. In current RPGs and most games in general, roles are defined by abilities. Each role (class) has its own set of abilities which others are generally excluded from.
SEPARATING CLASS AND ABILITIES
A model which makes more sense to me is to open up all, or most, skills to any player and simply categorize those skills by function for informative purposes only. This way, the player knows what skills support what role, but he may approach that role in his own personal way. The player can choose, to a fine degree, how specialized or generalized he wants to be.
Build a character specifically for soloing. Or market yourself to groups as a specialist in particular situations, such as fighting ranged spellcasters. Be the crafter who can't build armor for his life but makes the best swords in the region. Or be the jack-of-all-trades, who can always find a group because you can fulfill any role... your lack of prowess in any particular role balanced by your ability to combine very different skills to great effect.
Like other features I've proposed, this doesn't make sense in a level-oriented game. In a game like WoW, with areas divided by the level of content within them, strictly defined classes allow the developer to control the pace of the players' progression and the difficulty of each area. If you can count on the player having a particular set of skills, you can design an encounter around those particular circumstances.
But a system like this does make sense in an MMO more similar to SWG, with a relatively open world in which a harmless rabbit and powerful giant might be found within a stone's throw of each other.
Factions and quests are better suited to providing roles than skills. Allow the player to choose what causes she will serve and what function she will play in their plans. Let the player explore and back up, to find his or her own path through experience, like in real life. Don't expect the player to plan a whole future in the first hours or even days of gameplay.