You mean the one I most like to play? That would be Pyro. But EVERYONE plays Pyro - on some of the teams I've played, we've had, what, 4 pyros. On a payload map. ON RED. Now, yes, pyros are good and they are useful for spy checking, but NO TEAM, ESPECIALLY A RED PAYLOAD TEAM, needs FOUR pyros, sometimes it's even FIVE. And then everyone wonders why the team lost. "Wut? Five pyros are awesome!".
As a result, I can't play pyro anymore, because that would be just adding to the problem. So now I play as soldier, because not only is the soldier class vastly under-rated, so not many play it, but it is capable of doing a lot of damage.
From the Valve Stats page, I believe that the Heavy is the least played class of all, yet gets the most points/kills per minute.
As for design and personality, I like the Heavy the most, and the Medic the least. The Heavy is just a hilarious character, while the Medic just seems boring and has few good lines or taunts.