What works for us (usually
) is to make everything a game. When washing his face (a dreaded chore for him) I usually will yell "I'm gonna wash you HEHEHEHEHE" and chase him down like a madwoman and try to get a few scrubs of the cheek in. To get him dressed I approach it the same way, something like "I'm gonna shirt you (pant you, sock you)" and he squeals and runs while I grab him and attempt to put on the various items. If he squirms and wiggles away I threaten to get him and tickle or blow on his belly with a "that's what ya get for wiggling". It takes a lot of time and energy, but considerably less then when he protests or procratinates. Many days I don't really want to go through the whole production, but force myself because it helps us get out the door and usually gets him in a better frame of mind (which is necessary for errand running anyway). I also let him do as much as possible himself. We have given him the responsibility of unlocking and opening the car door (which works to get him that far). I get his help collecting snacks and toys for the road. I also encourage him to bring his favourite bear so that he can hurry and get bear to the car, or in his seat, etc.
This strategy works for many frustrations throughout the day. A combination of games and silliness and letting him do as much as possible himself eliminates many battles (which is sooo necessary being that he is super spirited, very persistant, and amazingly frustrating child when he wants to be). I know this probably doesn't help much, but at least you know your not the only one