I don't know why but the moment I saw this I thought of Electvire and its moveset confirms it can learn:
- Thunder Punch
- Fire Punch
- Ice Punch
- Cross Chop
all of which complement its excellent attack and provide asked coverage. The only thing missing is Ghost type, but it fits your question for the original four as well as the final edit. With Hidden Power [Ghost], you can get that as well. This is a terrible idea, which I mentioned because it's there, but should not be considered a part of the answer.
Another one I found was Gengar, but it lacks a Ground type move, which again can be remedied by HP [Ground], which is not so bad in this case to consider, but over still a poor option. It's moves are:
- Shadow Ball
- Focus Blast
- Icy Wind
- Fire Punch
Here's the deal: Icy Wind is weak and generally not considered, but in Doubles it's very useful as it reduce both opponents' speed by a stage each, so it's not an uncommon move to see in that format. And Fire Punch is useless post gen 3, when it became a Physical type move because it has horrible Attack. Gengar learnset.
These were the two that came to my mind immediately, so these are the two I put. That said, it's fairly easy there are more because quite a few Pokemon can learn the Elemental Punches (all three) and a lot more can learn Earthquake. Fighting moves are not uncommon either. It's generally the Ghost move, because most Ghost mons have very limited movepool. However, with Shadow Ball as a TM, this problem is solved to an extent. Unfortunately a lot of Pokemon with Special Attack high enough and ability to learn it, don't have Earthquake. The two strong moves are almost contradictory, in a sense of speaking.
That said, the two Pokemon provided are excellent because the moves complement the attacking stat (except Fire Punch, of course) so they should be the most effective Pokemon to use.