Battle of the wills and your son is winning! You've gotten some good advice so far. Yes, let him pick out his clothes but only 2 choices of shirts/pants/undies and no more. You didn't say when you are getting him dressed-right when he wakes up, after breakfast, etc. So try to let him wake up a bit and give him a time warning-it will be time to get dressed in 5 mins, it will be time to get dressed in 3 mins, etc. No, he doesn't understand how long 5 or 3 mins are, but you are giving him a heads up as to what is going to happen. Ok, now you are in his room, he made his clothing choices. Do you let him try to help take off his PJs and put on his clothes? Let him take off his bottoms and put his undies and pants on. Teach him to find the tag and put it too the floor so he knows which way is up. But the battle begins you say?? Ok, he gets 1 warning to stop and get dressed. You wait a bit (no more than a min) and give him another one but tell him he will go to time out next time if he doesn't stop. Still not getting dressed, put him in time out for 3 mins. Set a timer so you know, afterwards explain to him that it is time to get dressed and he will not behave like that. If he battles you off the jump now, put him straight to time out. And so on. The reason I'm suggesting time out is because you didn't say what you do besides physically battling with him and no one else did either!
You can also try a chore/behaviour chart. You can put on there get dressed and he gets a sticker for every day he gets dressed without a fuss. If he gets all 5 (for Monday through Friday) or 7 stickers for the week, then he gets extra time at the park, a kiddie cone at McDonalds or what ever type of small reward. You can put on there pick up toys, getting in PJs, brushing teeth, helping in house, etc.
Most importantly, stay strong and don't toss in the towle. Children can smell fear in an adult and will run you over like it was nothing!! It doesn't have to be a battle and the more you make him realize you are the adult, you are in charge and you mean business, the better off he will be!
Good luck!
S.