My DS1 will yell at DS2 and then smack him around the head or body. Not generally hard, but still - it's not on. I put him straight into time out and make no bones about being unhappy with his behaviour. Sometimes he gets a smack. To try and get through to him why it's not nice I say "he's your little brother - you have to look after him, he just wants to play with you, you have to share, it's not nice to hit etc etc etc". It's not constant here, but the minute DS2 takes another of DS1's toys, it happens again.

I can see you've tried time out, among other things. While it's not nice, it's obviously a stage most of them go through and I guess all you can do is be as consistent as you can with the "punishment" when your DD does it. Sorry I can't offer any other pearls of wisdom.