We have a pretty sassy boy, but retraining is definitely helping. I read some great advice on BYC from "people in the know"
1) Did you notice how he charges you? He is like any other animal (especially male animal), he is pushing you and threatening you and showing off. Sooo....
Charge him. Don't hit him. Don't push him. Treat him like you are dribbling a soccer ball. Go in his run or even out in the yard. Walk at him. Walk at him more. Walk at him again. Herd him like a dog does to sheep. Make him move, then move again, then move again. Keep it up for at least 3-4 "pushes". Then walk away. If he charges you again, do the whole thing over again. Keep doing it until, when you walk away he stays where he is or goes plays with his girls. This "getting him to move" is a animal-technique of showing dominance
2) When he takes a swipe at you...
Quickly slam your hand on his back and pin him to the ground. You don't have to do it hard enough to hurt him (don't harm his legs). But he will be screaming like you are trying to kill him. Pin him to the ground until he stops struggling and then slowly lift your hand. If he comes after you again, pin him again. He'll especially hate this in front of his girls!
I have tried the picking up and holding him on his back. Or just holding him and walking around with him. I didn't find that either of these techniques had any lasting effect. BUT, we also do hold him and snuggle him and give him a ton of cuddling love also. So he is learning who is the dominant-leader of the flock, but that he also gets to tolerate being handled like crazy.