A.,
I sympathize with you on this one! I am a teacher in a daycare toddler class where my own daughter is a student (she is the same age as your daughter). We see this all the time! So you are not alone! One of the things that we do at the day care is help the kids learn to say "No thank you, I dont like that" it does take time but eventually they learn to say the words and it helps. Another thing you have to is be consistant with her. Consistancy is the key to learning good behavior. When we put a child in time out, we stay very close to them so that if they do get up, we can place them streight back in the chair. We teach them how to use their hands for "nice touches" by taking their hands and showing them how to gently touch someone else (usually I will take their hand and rub my cheek with it while telling them "nice (or gentle) touches).
It can be difficult because the children have not aquired the words to say how they feel. When we put them in time out and they start kicking and hitting, I tell them "I'm sorry that you are mad, but you have to use nice touches and use your words". I know how hard this is for you and how helpless you feel with it, but you have to be consistant with whatever form of discipline you use. EVERY TIME, she hits she has to be put in time out. You have to play different with these children also, no rough houseing with them because they think that that is the way to react to other children.
Some of the reasons that toddlers act out in this way:
1. they do not know how to tell you how they feel.
2. they have older siblings that show them it is ok to be rough.
3. they are acting on things that they may have seen somewhere.
This is just to name a few. A child at this age can benefit from anger management for kids if the person helping them is experienced with toddlers.
Good luck! If I can help in any way, just send me a message.