Have you tried setting a timer? The timer works remarkably well for my kids. I set the timer for say 5 minutes and tell them "when the timer beeps, it'll be time to get dressed." That both gives them a warning (especially important for my daughter, who transitions slowly and reluctantly), and it makes a "neutral" party telling them it's time. We use the timer for all sorts of things (reminding me to start cooking dinner, reminding dh to leave) so that it's pretty much an equal opportunity reminder, not just one for kids.
Another thought is that this is a perfect time to invoke some playful techniques. Playing chase with mom is really really fun. So, use it to your advantage - "when you get your pants and shirt on, I'll chase you one time through the house." "when we get your socks and shoes on, I'll chase you out the door/to the car." That way he gets positive attention, but in a way that you can have a bit more control over.
I think my kids were about this age when I introduced them to the concept of "kid time" and "parent time". Some things can be done on "kid time" -- so if it takes us 30 minutes to walk to the park, oh well. Other things have to be done on "mommy time" -- getting ready to go to daycare (and now school), has to be done on our schedule, not theirs. I don't know how much they understood of this at age 3, but it did help give them a sense of power. They knew that sometimes they were in control. (Now that I think about it, I think we did this at age 4, when the power struggles were pretty big.)