Water leaks out of spout when the shower is on
If the shower diverter knob is on the faucet itself, then that can also happen if there is low water pressure to the shower. The type of spout you have uses some of the water pressure to seal the gaps that would otherwise allow water to come out of the spout. The easiest thing to try would be to simply unscrew the faucet from the pipe and replace with another of the same type and see if it works better. If not, then your issue has more to do with the shower water pressure being too low. 

If that is not the case, then replacing any different kind of diverter may require working inside of the wall. Access to most shower plumbing is usually done from the opposite side of the wall, in another room.