Are you actively asking your horse to switch leads or just hoping the change of direction gets the job done? Does you horse know you want her to switch? I would go at this from a standpoint of clearing out all the noise in your aids and first developing very clear signals for the lead you want. I would work on a very large figure 8. Canter one circle, and do a simple change, ie come down to walk, and then back up to canter. The only changes you make are new outside leg behind girth, new inside leg asking for proper bend and depart and making sure you are not blocking the new inside shoulder upon depart. The first few times, take as many walk steps as you need to get the new canter depart. Walk right onto the next circle if you need to. The point is to get your horse to know what you are asking for. If you try to rush it to get it perfect, it will just backfire and create more noise. Be patient and only ask for the new canter when you know you can succeed.
Once you have the figure 8 down to where you're only taking 1 or 2 walk steps between departs, change it to a "hunter" figure 8. Picture to diagonal jumping lines. Canter down the first diagonal. As you approach the corner where you will ask for the new lead, do the simple change. Walk for a step and come back up in the correct new lead. Come down the next diagonal and repeat.
Once your horse is sighing with boredom because she understands the game, go down your next diagonal and cue for the change with your new inside leg in rhythm with each stride. If you did all the other work correctly, your horse will feel the new inside leg, know that means depart and off you go. You might have to exaggerate the leg cue at first, but if you have a quick learner, you can get more subtle very quickly.
Hope this helps.
You just have to see your distance...you don't have to like it.