The answer is 100% context-dependent. Pokemon is not a one-dimensional game -- we cannot name one type or a combination of types that is always or even "normally" ideal for a sweeper.
The most useful offensive type in any given scenario is effective against common defensive cores in the battle format you're playing, and effective against defensive Pokemon that resist attacks from other team members. If you do research then you can get clearer answers.
For example, in Gen 8 OU there are lots of defensive Steel-types and Water-types that you must break in order to sweep. So Ground, Fire, Fighting and Electric are helpful. I can see Ice lets me take out Landorus, Tornadus and Garchomp. I can see Dark gets very good neutral coverage and hits Slowking.
Good offensive types are also associated with the options at their disposal. Dark gets a massive boost because Knock Off is one of the best moves in the game. Strong, reliable and well-distributed moves like Earthquake, Moonblast, Draco Meteor and Close Combat can make some types more common.
In contrast, types like Rock and Bug suffer because they don't have attacks like those. But on the other hand, Bug types often get Quiver Dance which is an excellent set-up move. Volcarona is good because it gets Quiver Dance plus a good secondary STAB (as well as Roost and good stats). I hope that illustrates why you should think more about individual Pokemon being good sweepers, and less about certain types being best for sweepers.
one that needs little to no backup
This is a bad way to think about teambuilding. You cannot have one Pokemon that does everything. Creating a sweep involves having teammates that can wear down Pokemon that resist your sweeper's attacks.