Swords Dance is superior to Power Up Punch on Mawile, and let me explain why. Usually, the only Pokemon ever that use Power Up Punch are the Pokemon who get STAB from it, like Fighting Types, Protean users(Kecleon, Greninja), or Mega Kangaskhan, who gets the special access to two Power Up Punches(Parental Bond.) With Mawile, you want to Swords Dance to get the boost as soon as possible, being as it's the most reliable way it gets the boost. Sure, there's Taunt Users and such, but that shows that you're misusing Mawile by not switching it in on a Pokemon Mawile defeats(Which don't carry Taunt.) Also, Mawile should be used as a Late Game Sweeper, destroying all Pokemon that enter the field after they have been weakened. Swords Dance is the only booster that allows such things to happen, while PuP needs to use two turns to get the same result. All in all, my reasoning behind supporting Swords Dance is for its reliability and overall more efficient boosting. You must use Mawile wisely if you set up with it.