Despite always failing to beat Lance, versing the Elite 4 or 5 is a great way to level up your pokemon, even with Exp Share onto a weak pokemon is great as it also makes that stronger, so despite losing all the time, just stick at it until you beat him.