C.A.
I have a 3 1/2 year old and a 2 year old. I went through something similar with my girls. Whenever my oldest was not nice to her sister, (i.e snatching toys, not sharing etc..) I put her in a time out everytime it happened. It was exhausting to do it but the behavior did change. After each time out, I explained to her that she needs to treat her sister the way she would want to be treated and snatching toys or blocking her from playing with other toys was inconsiderate and hurtful and not acceptable to me. Every time she does it she will have a consequence. I went to one other extreme just recently and took all of her toys away and had her earn them back with nice behavior and nice talk. My 3 1/2 year old is very mature for her age and understands what she is doing. If your son understands what he is doing, then he is able to understand the consequences that come with his behavior. Just remember you're the mom and he is the child and long term if you don't nip this in the bud he will start to think this is an acceptable way to treat his sister. He needs to understand his role is to help his sister and protect her as the older brother.
Also, I do work p/t from home and go one day a week into the office and I have a lot going on in my personal life (sick parent etc.). So with all this being said, I have to say that when I spend one on one time with my oldest without distraction and interruption, she does do better and plays better with her sister. But if I am busy with work, chores etc.. and just constantly correct and discipline her all the time she does get exasperated and acts out.