Well, all classes are fun. If it helps you decide then I'll voice my opinion on them. All of my experience comes from the Insanity difficulty as I haven't played any other difficulty.
With that said, here we go.
Soldier:
One of the easier classes to learn, because it's very straight forward. You have one power that's useful (Adrenaline Rush) which you should use as often as possible to maximise bullet damage, as bullets are all that you have.
I personally drag Grunt or Jacob everywhere for their Squad Incendiary Ammo until I've maxed Adrenaline Rush and my passive. After that I max Incendiary Ammo to Inferno for the AOE (Area of Effect) Crowd Control and go to town with all of my guns.
Oh, and Adrenaline Rush should be maxed to Hardened Adrenaline rush if you use fast-firing weapons, and heightened if you use slow-firing weapons.
Thaat's about it for the Soldier. Way too many guns.
Vanguard:
One of the most fun classes in the game, and most people here will vouch for it. With good reason. Using Shepard as a battering ram will result in a lot of giggling and funny scenarios with the ragdoll.
The 'worst' part about the Vanguard is that you have to learn twitch gameplay. Since you're pretty much always deep into the fray, enemies will be close and they can be harder to hit. This will take some getting used to.
The reason you're always at hugging distance is that you have Biotic Charge, which refills your barrier upon use. With the Heavy Evolution it refills 100% of your barrier, which is mighty powerful (and needed for your survival),.
The Vanguard is all about charging and shotguns, so if you like that go to town and knock yourself out. Or all of your enemies. Either way works.
Infiltrator:
My personal favorite, so expect bias.
There's two ways to play the Infiltrator. One of the traditional sniper, and the other is the CQC (Close Quarters Combat) Infiltrator. Your class power, Tactical Cloak will allow you to do both, but (my opinion) it favors being up close and personal, as enemies tend to take cover as you activate cloak.
You have a passive time slowdown for a few seconds whenever you scope with your Sniper Rifle, so that helps with aiming.
This is also the first class that has other powers worth focusing on. There's no one button that will solve all of your problems with ease, like charge and adrenaline rush will, so taking other powers like Incineration Blast will help you.
Lastly, Squad Cryo Ammo is the best thing since sliced bread and it's worth using on all three classes. The Infiltrator can use it as his main ammo power.
Time for the caster classes. Now the game becomes more complex.
Sentinel:
... Or not.
The Sentinel can become a one-trick-pony that rofl-stomps everything with ease. With Tech Armor evolved to Assault, and the passive evolved to guardian, you can effectively spam Tech Armor, and stun everything in an 18 metres radius.
Read that again. Pinch yourself to make sure that you're awake. Now laugh.
It wasn't properly balanced in my opinion (since Tech Armor also resets your squadmates cooldowns, which effectively lets you spam three powers constantly) so I opt for a caster playstyle instead, where throw is evolved to the heavy evolution, and cryo blast is evolved to the Area Evolution. Cryo+Throw is a hilarious combo that you'll have a lot of fun with.
The Engineer:
Another very powerful class.
Combat Drone doesn't seem all that impressive. Until you realize it distracts pretty much every enemy that you face in the game (with one exception, and you only fight this thing twice). It's basically a "Stop bothering me!" button. Very effective.
As for your other powers... If you take Area Overload, bring squadmates with Crowd Control powers. If you don't, bring Garrus or Miranda with their Area Overload and burn everything to death with Incineration Blasts. Either way works.
The Adept:
The class that took me the longest to learn, but it's well worth it. In my opinion, this is the most advanced class in Mass Effect 2, because the amount of Combos that you can pull off exceed the other classes by far.
Singularity - Your class power. This can hold shielded/armored enemies in place, and while you're stripping them of their shields, your cooldown will finish and you can blow them to bits with a warp.
Pull - If an enemy doesn't have shields/you've already stripped them of their shields, then this is a faster alternative to singularity. The projective speed and cooldown are both superior to Singularity, so it's better for enemies without protections.
Throw - If there's only one enemy, then warp's cooldown will be prohibitive. The solution? Squish the bastard with this lovely power. If an enemy's floating (courtesy of Singularity or Pull), then this power will literally fling them into orbit.
As for shockwave... I personally love the power, but it's not effective. If you feel like playing bowling, knock yourself out, but it really is less effective than throw, warp or pull AND it has a longer cooldown. A 'for fun' choice, if anything.