No need to be rude, Chete 
There was no weighting with regards to his criteria, so it’s difficult to say, but if “engaging rotation” is important, then he’d likely be better off with say any other class. Here’s a more comprehensive answer:
self-sufficient leveling
Hunter, Druid, Lock, Mage
ability to farm gold
Sort of vague here. I suppose since making gold via methods such as using the AH, or profession items don’t require a particular class, this would maybe be better phrased as ability to farm materials, so likely the same as above. Noting that druids do not have to change into human form to farm herbs, for example.
desirability in raids
Since DPS has been noted as a preference, then Mage, Warrior, Rogue would all be desirable for dmg, have good damange. Hunter damage doesn’t scale as well with gear in later raids, but may be desirable for utility. Also lock, shaman for utility.
engaging rotation
Somewhat subjective for what you find engaging, and I’m not familiar with all class and spec rotations. Also, I personally find shaman totems bothersome, rather than engaging, so I feel this is quite a subjective area.
I would imagine though that Warrior, Hunter, Lock, Rogue all have some engaging aspects of their rotations.
ability to compete in raid damage and all aspects of PvP
If raid damage is super important to you, then one thing to consider about mage damage, particularly when Fire is the top spec, is how Ignite works. It’s great if it’s your dmg that all the other mages are contributing to, but less great if it’s not.
Warrior and Rogue dps is quite strong for raids, and they are also quite competitive for PvP.
easier time gearing for raids is a plus but not mandatory
Hunter would be a lot less gear dependent than some other classes, and most likely to be ready for raiding with the least effort.