I have a 6 yo DD. I'm no expert and often think I'm getting it wrong but here is what works and doesn't work for me:
Doesn't work: shouting. Inevitably makes my DD more stubborn and defiant, possibly shouting back, or ends with one of us in tears.
Does work: threats - to remove favourite toy/DVD for specific length of time (say 2 days) and if the defiance escalates so does the threatened time of confiscation ("OK shall I take the DVDs away for 4 days?") It is important to stay calm, not shout, not get drawn into arguments so sticking to the main point (i.e the misbehaviour that first got them into this situation) and most importantly following through on the threat if necessary. Because I have actually followed through and confiscated stuff, my DD believes me when I make the threat so will often back down quickly. I rarely have to actually confiscate these days.
Does work: bribes. Or at least promises and reminders if good stuff to come, e.g.
"I don't want to get dressed."
"I know, but if you do it nice and quickly we'll have time to play in the garden for 10 minutes before we have to leave."
Or an out and out bribe:
"I don't want to leave friend's house."
"I might have some sweets in the car for you." 
Does work: time out. If DD is very angry or has been horrid to her younger sister, I will send her to her room for time to calm everyone down. Actually getting her to her room usually involves employing a confiscation threat but once she is there she calms down pretty quickly and will usually want to apologise of her own free will.
Does work: humour. If the behaviour is fairly minor, rather than turning it into a confrontation I sometimes try to turn it into a joke or an excuse for a cuddle ("come here grumpy pants, I need to squeeze my lovely little girl back into you," or "where have you hidden your manners? Are they here? I can't find them!" Whilst examining inside ears, between toes, under armpit etc.)
Hope that helps.