It takes a lot of patience and consistency to deal with siblings and teach them to get along.
What worked for us was...
first modeling our expectations. This means no yelling, nitpicking, or bickering for mom and dad either.
Next sitting down with the kids starting at 2.5/3 (as they were becoming rational) and giving them strategies for playing with others. "You agree on the game, movie, TV show or come up with a fair, calm way to decide." For instance, we watch what you want and then it's my turn- rock, paper, scissors- or we just seperate and do our own thing. If bickering or arguing started and I had to intervene then no one gets to play with the toy, use the TV, whatever. It helps for everyone to have somewhere to go when they do not feel like sharing, want to use their own things without a sibling getting in the way. My children are widely spaced so we made sure that we always had a place for DS to play video games without his younger sister walking in front of the TV.
If you get physical, then you were immediatly removed to your room until you calmed down and apologized. Of course, even after apologizing you still do not get what you wanted. This was further modeled by the fact that parents did not hit children in our house, either.
Honestly, by modeling a peaceful, no yelling, no physical altercations household both of my children never had a problem with getting physical with anyone. Even as young as 2.5 or 3, they could play with others without grabbing toys, hitting, etc... It just wasn't tolerated.
I will admit that the more children you have the harder it is. Although, my younger sister has 4 children, and her house is amazingly peaceful using the same principles.