Uhh Sweepers take out pokemon pretty much pokes with high Attack or Special Attack pretty much, Walls are for defending can set up too take hits baton bass do alot pretty much but they have high def spec def, Tanks have both
But yeah my Dragonite is a TANK not really an attacker but it can get off sweeps if used right, yours is more of a attacker I think, but yeah if you have Metagross as Attacker aswell you're unbalenced already if you want any help sorting things out just send me a VM
It mostly depends on what your team needs. Sneasel (or Weavile) is a great sweeper, it's stats are kind of like sceptile but with different moves. Metagross with agility as also an awesome sweeper, as well as a bulky physical wall. Heracross is great for power, not much can take it's megahorn or close combat. Rhyperrior is pretty weak to grass water and special attacks, I've battled with it a few times and people can get around it pretty well. But, since you have Dragonite, you could switch in Dragonite to take water and grass attacks, Dragonite also has strong special Derfense. I would choose Metagross, type wise he's pretty sturdy and can also work well with Dragonite (Dragonite's weak to ice and Dragon, Metagross is strong agianst both and could switch in on an outrage or ice beam.) Weavile and Heracross are also good choices, Ryhperrior is kind of risky, but with good prediction, he could do good too. Your choice =)
I would go with either Heracross or Metagross. But Metagross would be my first choice because it has a high defense and attack and can learn Magnet Rise to get rid of its Earth weakness. It also has a wide movepool. However Heracross has a x4 weakness to flying because of its Fighting/Bug type.