Start by really laying down the law. I do not agree with putting them in their room as most kids would love to go play in their room. Put her in a time out spot that she doesn't really associate with fun. I also don't believe in leaving a place necessarialy. I say to both my kids 3 and 6 "there is a time out spot no matter where we are"...and I have put them in time out in the middle of the grocery before.
I however am all for a behavior chart so they can see how bad their behavior is truly getting, put down all the unacceptable behavior and each time she acts out then put up a frowny face, with every 10 frowny faces come up with a serious consequence for her, like not playing with a friend after school, no birthday parties, going to bed 40 min early. When she does something good, put on the other side smiley faces. When she sees it for herself that the frowny side is Make a HUGE deal out of the happy faces she is getting and when she gets to a certain number (you choose) then she can get a reward.
Do a chart for your 3 year old so nobody feels left out or singled out too.
And mostly, make sure nothing upsetting is going out that you aren't aware of, a bully, a friend being mean, nightmares. I would say too make sure she is getting enough sleep and eating well. Try making her bedtime earlier until the behavior improves, maybe she just isn't getting enough sleep.
Hold her accountable, she is old enough to understand right from wrong, however not old enough to control her emotions always. I always tell both my kids too, it is okay to be angry, upset, sad, HOWEVER NOT OKAY to take it out on those around you or pitch fits ! I validate what they feel but am helping them realize they don't get to have melt downs when they don't get their way either!!!
My favorite quote was from a play therapist my daughter went to see during the divorce and she said "You cannot and should not try and CONTROL a child, however it is our job to teach them to control themselves"..makes sense!!!