The strongest hero class is Elementalist.
Factors
Elemental Force (Stun, Freeze, Burn, AND Entangle a random Enemy when matching 4 or more Gems) is, without a doubt, the strongest trait available to any class. Stuns remove traits. Freeze prevents extra turns. Burn removes barriers. Entangle prevents skull damage.
The Stone talent tree has Impact (inflict stun when enemies deal skull damage to me), Rock Solid (gain a barrier when matching brown gems), and Fortitude (immune to stun, poison, disease, death mark, lycanthropy, and devour).
The Water talent tree has access to Snap Freeze (freeze a random enemy at the start of battle), Insulated (immunity to frozen), and Deluge (submerge a random ally on 4+ gem matches). The Storms talent tree has access to Lightning Strike (explode 1 yellow gem on 4+ gem matches) and Lord of Storms (elementals gain 1 magic when an ally casts a spell).
Are there other really good classes? Yes, absolutely.
Slayer is the best class for Explore 12 with Zuul. It has Bloodlust trait (become enraged when an enemy dies), Bloodthirsty talent (Become enraged on 4+ gem matches), and Fireblade (triple skull damage to burning enemies). This allows it to deal tremendous skull damage.
I use Death Knight class when I’m playing with my Undead team (Ghost Queen + Gray King + Xathenos). It doesn’t really have any good traits or talents, except maybe Banishment (dispel all enemies on 4+ gem matches), but it is an Undead so it’s affected by all the other troops traits.
Generally speaking, if I want to have a 50% mana start and gain bonuses, I’ll use a corresponding class for the troop type. But, aside from that, yes, Elementalist is the best class as long as you can make use of its trait. If the entire enemy team is Impervious and you can’t curse, then yeah, Elementalist would be pretty weak.