1st thing - allow as much time as you can for these situations.
For a week I had to allow ds 2 hours to get dressed. I sat in his room with my back against the door, and ignored all the 'no', 'I don't want to' and 'screaming', I didn't get drawn into his arguments, and refused to engage. I'd tell him what I wanted to do and wait for him to do it. Even if that did take a long long long time and I did have to get up stupidly early for a week.
He's never been so bad since.
Similar thing for everything else. If he has to do it, he has to do it however long it takes. If he can provide me with a good enough reason as to why not to do it - i.e. can prove to me he has a better idea, then he doesn't have to.
But don't get drawn into arguing with him, don't answer him back, play the stuck record (I want you to put your clothes on and we will stay here until you do) - but I tend to do maximum of 3 repeats and then stop talking.
Pick your battles - if it's something like putting on coat, then let him go without and get cold.
Don't let them wind you up if you can help it - e.g. allow plenty of time to do these things.
For getting out of the bath. If you can let the water out and lift them out. If he is getting too strong then you empty out the water, put the toys out of reach and all other 'fun things' and then carry on doing something else, not paying attention (e.g. clean the bathroom).
For something like refusing to hold hands, I would get a set of reins and put those on. If he can hold hands he doesn't have them, if he won't he gets them put on.
Takes a lot of time though to start.
But never argue/reason with a 3yo they have a habit of winning (or is that just mine).