It's normal, if you let her get away with it.
Reading your post, I'm pretty sure you are a little to lenient with her. She is acting kind of bratty, because she CAN. She intuitively understands that mommy is overly worried about her feelings, and so she can get away with being unpleasant.
Mom, stop worrying about her feelings so much. You are obviously a good mom. I'm not saying you should punish her for this stuff -- she's only 3, but don't cater to her so much. If she says something rudely, you should probably just ignore her and/or not let her get her way.
If she throws things, she should be put in time out or have another consequence. She will only be doing the same thing at 8, 12, and 15 if you keep allowing her to act bratty.
If you are crossing the street - hold her hand, you are stronger than she is. It is not up to her.
If she says "I don't want that stupid drink," then she gets NO drink other than water until the next meal time.
If she says, "I don't like my teacher," when she hasn't even met her, either ignore it, or tell her, "Well, that is the teacher you are going to have."
If she's whiny, don't respond to her until she uses a pleasant voice.
It's not that hard, you just have to stop worrying that if you become a little more strict with her that it will somehow harm her. It won't.
Reading below: I entirely disagree based on what you have written that she sounds unhappy or needs to see a professional. I think she is a normal kid testing boundaries. You sound like you are very sensitive, probably a little soft-spoken, and your daughter has a stronger personality than you do. You just need to be top dog.