It really depends what you want. If you want a fast late-game cleaner use Hitmonlee, or if you want a bulkier slower attacker use Machamp.
Hitmonlee is a fantastic late-game cleaner. It has a big 120 attack stat and although it only has 87 speed, its ability Unburden doubles it's speed making it a terrifying sweeper. That backed by powerful moves like Hi Jump Kick, Earthquake and Stone Edge, and also has three great priority moves in Fake Out (which also helps ensure that Unburden activates), Mach Punch, and Sucker Punch.
Machamp on the other hand works better as a bulky attacker, only having a base 55 speed. But Machamp makes up for it's low speed having 100% accurate STAB Dynamic Punch, courtesy of No Guard. Pair the 100% confusion chance with Substitute, and you have a very dangerous and annoying Pokemon on your hands. It also has pretty decent 90\80\85 defenses which help it take hits from behind a sub or not.