Hi Maka! That's a very nice animation you have going.
My favourite part of this whole animation is the fact that his back foot spins as he's punching. A+ stuff.
I'm no expert on animation, but I believe one of the reasons it lacks power is simply because you have too much movement going on.
I did a simple edit to show this. Literally all I did was delete two frames and increase the delay on one of the adjacent frames.
The first delete/delay happens at his fully retracted position. This pause adds a bit of anticipation (I could be wrong, maybe the small movement is better).
The second delete/delay removed the extra "whoosh" which I felt made the action look sluggish and more of a sweeping motion. It's supposed to be a fast action followed immediately by a halt. The pause extends that halt which adds weight to the punch - you can't just retract your arm immediately after a really hard punch after all. I didn't want to make recoil because what if he punches thin air? There's not much recoil when you punch thin air.
I of course didn't bother animating the cloth again, so you'll have to do that.