You might want to check out Raising Your Spirited Child. But, I think is is completely normal 3 year old behavior. She is at a point where she is defining limits and testing boundaries.
I also have to remember with my 3 year old, that although he is very verbal, he is not always logical. He is still very much 3. I think the more verbal children become, the harder it is to expect age appropriate behavior.
We help our children listen. If I ask my 3 year old to pick up toys and he says no, I ask if he can do it all by himself or if he needs help. If he still isn't picking up the toys, I go and help him. Help in our house is not a bad thing, it is just help. He can't always provide internal boundaries, so I help him with that.
Provide her with lots of choices, even little ones (ice or no ice, pink cup or blue, sandwich in triangles or squares) to give her appropriate control of her life. Love and Logic is a great starter for providing choices, just keep in mind that your 3 year old is not logical.
We also set very clear expectation with our children. They can not know how to act if they are not told what is expected of them.
We pick important battles in our house. Hitting is an important battle, missing a meal is not. Safety is, wearing mis matched clothes is not.
We try to take the time to listen to our children. If I don't have a good reason to say no, I don't (sure, play dough is messy, but if they want to do it, we do). Lots of outside to burn energy also helps a lot.