I have a 6 and a 2 year old. The second is more physical in general but also shows more frustration often due to her sister and disagreements about toys and sharing. My little one has started hititng /pushing in frustration and pulling hair. All it really took was getting one good reaction out of her sister. However, she does this with no one else so it's a little different. And like you, my older daughter never hit.
One part of it is dealing and preempting frustration. I listen really closely and intervene before it gets physical. Not always, but I really try to focus on stopping the behaviors I see leading up to my toddle's bad behavior - like her sister saying "No, that's my toy." I am there in a flash to guide the negotiation.
Second part, when my 2 year old hits i make her stop playing and leave the situation no matter what. Physical agression means you leave the situation and don't get your way, even if you were basically in the right. Half the time the older one "starts it" by trying to boss the little one, but hitting is not an okay reaction.
I get down on my knees make her look me square in teh eye and say "You may not put your hands on your sister. If you hit, no more playing." And plop her out of the way with no toys for about 2 minutes. Then she has to go say she is sorry. I usually also say something liek "If you want a toy, use your words and tell Mommy or sister. Say: Please giv ethat to me." We had a rough 2 days of frustration and these sort of time outs but it's a few weeks later and the incidents occur only maybe once a week. In your case, if she touches another child, I would pick her up wordlesslly and carry her out of the room and say "You can't play/sing/dance because you hit/bit/pinched." Of course, I am all for giving second chances, but if it happens more than once in a particular play session, I owuld make her leave.
I also engaged my older daughter to help me. I explained how her sister is not like her friends. She is still learning to play nicely and be a good friend. And we have to teach her to use her words. My older one feels like my ally and it is helping her to preempt soem battles too. I make sure she knows her sister has to be her own boss and tha tif she bosses little kids then the game stops becaus eit makes the little onses frustrated.
You just have to be consistent. Don't be embarrassed about discipling your child in a social setting either. As another mother, I would be angry if you did not discipline a child who had hurt mine. It sounds from your post like you are teaching herthe right words but tha tshe has no consequences for the bad behavior. And by the way, I don't believ ein time outs as a rule because I think they are arbitrary. But I do believe in direct consequences, and in the case of agression, a time out is a direct effect of the behavior.