Have you had him looked at by a chiropractor? He could have something wrong with his back or hips that is making changing leads uncomfortable. I would also have the chiropractor check your saddle fit and placement.
Aside from that, I would take some lessons with a Dressage trainer and work on your position and his balance, as well as your "feel" for his strides. A horse can't preform nice changes unless both horse and rider are balanced, and the horse is asked at the proper time in the stride.