I know it sounds crazy, but I am a huge fan of the show Supernanny (Channel 7). I have followed her suggestions since my daughter was an infant and am happy to say I have a very well behaved 5 year old (most of the time :).
I think these are some key points:
Always speak in a calm, firm voice and get down to their level (eye to eye) when you are asking your child to do something or diciplining your child. I used to get down on my knees and tell my daughter to look at my eyes.
Staying calm and consistent is so important. I think children have the capacity to realize when you are at wits end and take the opportunity to put you over the edge whenever they get a chance! Also, when she does something I don't like, I say "No Thank You". She has come to know if she continues after that, she will end up in timeout.
Consistent dicipline ( I use the timeout spot and put her in timeout for the same number of minutes as her age). I would not recommend using her room or an area near toys. Also, I always give a warning before timeout and then explain why she is going into timeout (again eye to eye). After her time is up, I ask her to explain to me why she went into timeout and to give an appology. Then I tell her I love her and give a hug so she knows it's okay now and it's over.
Believe me when I tell you that it is not in my daugter's nature to be calm and compliant, so we have had to work pretty hard at this, but the more consistent I am, the better the result. At the end of the day, we just all try to do the best we can do, - so GOOD LUCK!