Ok A.,
I am going to recommend something that will sound mean and maybe even cruel. But, here goes:
1. Say no more often. When you are at home, and you have an opportunity to say (don't say no when a yes is appropriate). Say no. You son will go into the screaming throwing up thing. Now, here's step 2.
2. When your son starts the screaming thing. Tell him that just because he's hissyfitting doesn't mean that he is going to get what he wants. You said no and you mean no. Now, here's the really hard part.
3. Walk away from him. Now, I understand he's 3, so you still need to be able to see him, but, you can't give him any attention. Don't show distress, don't ask, beg, plead with, don't fret (at least not in a way that he can see).
4. When he throws up (and he probably will once or twice before he learns his lesson), clean it up without comment.
5. Now, during this process, you might try distracting him once or twice (if it's possible), but the primary goals here is to show your son that his crying/vomiting fits won't work. It's painful to throw up. I know your son doesn't like to do it. So, all you need to do is to not make it worth his while to do so.
6. Final point, you can't be inconsistent on this. If you ever give in (even after waiting and especially long time) the only thing you will be teaching your son is how to persevere (he'll start crying even longer just in case he hasn't reached your give in threshold yet).
Like I said A., it's much easier for me to write this down than for you to do. I understand that. But, as a parent, our primary role is tor TRAIN our children. Think of it as a training exercise and know that if you do this, he will obey . . . . eventually.
Good luck Sister Mother!
T.