Have you tried haunches in while re-cueing for the lead? Also, I'd work on this on the ground first. USUALLY horses pick a favorite lead and doggedly stick to it, even though they counter-canter, so IMO she just needs to learn to take YOUR cues. BE PATIENT!! She's a good girl and just needs help with her "dancing." =D
It may be the horse or it may be you . Some horses will switch if they feel a weight shift from the rider..even if the shift is minor. In other horses it may be a balance problem and still in others it may be a pain/stiffness issue.
Make sure the horse maintains an inside bend. Inside leg at the girth, outside leg slightly behind the girth. This doesn't mean the horse has to have their head cranked to the inside. All you should be able to see is the outside edge of the eye. Keep your weight centered and even slightly heavy to the inside by dropping the inside heel a little further down.
The next time you ride pay attention to where you are in the saddle when the horse swaps. Did you shift your weight even the tiniest bit to the outside? Did the horse have a slight bend to the outside? Did the horse pop the shoulder out when going in a circle..this would need a more steady outside rein contact to keep the shoulder from popping and allowing the time to swap the lead.