A game is not a feature list.
Actually it is in the most important phase of development (the paperwork stage)
I like classes. I like to be able to choose a class at the beginning of the game. The ability to switch classes should be available to the player, but in a way that it doesn't effect the game balance. You shouldn't be able to level up as a fighter, then switch to mage and keep all the benefits of a fighter(high hp, high defense, whatever + spells and stuff). Switching classes would either be akin to starting over or losing a large amount of experience/levels (say 75%).
Personally I prefer a one choice and you're stuck with it system but from a Game Design point of view the ability to switch is more preferable.
The class system should impact the game in the sense that your playstyle is different. If the rogue, mage, and fighter all play the same then why do you have a class system? Integrating classes into the story isn't really necessary.
"Oh, you're a level 19 paladin? So you can use heavy armor and up to 3rd level white magic, but no black magic and you can't wield axes?"
"Yes that's absolutely right, level 21 wizard who can use black magic but not armor or weapons besides staves"
It's assumed that the characters have trained a certain way.
Classes should be restricted only as far as some skills are better than others, imho. A Morrowind/Oblivion type system, where all skills are available to all classes anyways comes to mind. This also makes the point of class changing moot, as you can technically change class at will (with a little bit of work).
In fact, the Elder Scrolls system is the best designed class system I've seen.