Hitmonchan has an okay defense, and a very good Special Defense, so it can survive a hit. Any damage taken by Hitmonchan may be recovered. It (Drain Punch) is also more reliable than Sky Uppercut.
Sky Uppercut, on the other hand, is a bit stronger, and hits opponent even if flying. Hardly any Pokemon Fly in battle anyway.
Reliability + Recovery or More Power, you choose. It depends on your battling style. Sky Uppercut if you're risky, and Drain Punch otherwise.