Guild Wars 2 has a similar system to this, and although I do like GW2, I don't like that any class can play any role. I think it defeats the object of having different classes if any class can play any role. You may as well have a generic class where you follow different skill trees to get the role you want.