Hello! I also have dd very similar situation. i don't believe in spanking, TO's, or anything that demeans or devalues as a form of discipline. My dd (6 yrs old as of yesterday!) is a very loving, caring child. At age 5.5 or so, same thing-hitting, punching, throwing, etc.
Solution: Saturday is exclusively Mama-daughter day, with time put aside specifically for tantrums/fits/whatever they are called. It took a lot of positive talking (three mos) before the hitting/throwing/physical violence ended. Now Sat. morn is a good one hr of me listening completely and w/o comment to anything/everything she needs to voice. Then we spend however much time she needs crying. I let her always choose if she wants a hand to hold, or for complete laptime, or whatever physical closeness. After a break, lunch, and nap we have discussion time. She is allowed to ask questions and I do my best to answer, and I get time to ask her ?'s and hear her responses.
When discussion time ends, she gets to chose one or two activities she wants to do with Mama (play at park, swim, draw, read, even play Barbies
I know it is not easy, it has been extremely difficult, but I look at my dd and see someone who is a loving, caring, intelligent human being and treats others the same. I have spent six mos tantrum free when in public! It is worth the time and energy.
I do have one more comment: I do not believe the punching pillow/bag theory works. Violence begets violence. I teach my dd and ds that it is okay to be angry, hurt, etc. but it is not okay to hurt others or self. Hands are for holding, not hitting. When a person gets in the habit of hitting when angry, hurt, frustrated it is all too easy to hit a living being.
Sorry my post is so long, but I hope it helps...