The terrible acting with Sabat's Vegeta (and other characters) has nothing to do, I think, with Sabat's emotional range itself. As everybody mentioned, some of his other dubs are much better than his dubs in Dragon Ball. Why, then? Well, it's obvious: the voice.
There's simply no way ANYONE would be able to emote ANYTHING with the kind of voice they wanted for Vegeta. It's impossible. It's an exaggerated, cartoonish, stereotypical, "unhuman" voice. How is he supposed to express emotions when he's having a hard time just MAKING the voice? With an approach like that, Sabat is completely blocked in the "oh-so-badasssss" range all the time; he simply can't emote anything without "cheating". That proves how awful the approach of the dub was and how they butchered the character.
It's just what happens, for example, with David Hayter and his Solid Snake (though in this case, for some reason, everybody seems to love it). They are so focused on the "man-I'm-a-badass-or-what" part the performance is completely monotonous because the cartoonish voice they use prevents the actor from emoting, all they can do is read the phrase struggling for the voice to stay in place, and if you compare it with the Japanese version (where Snake and Vegeta sound like real persons) you realise how incredibly dehumanized Snake (or Vegeta) is in the English dub. For some reason, this kind of exaggeratedly raspy-grunty approach is very frequent when dubbing Japanese material, and it seems that as long as a character sounds badass (even if he sounds FAKE when the original DOESN'T) people love it, no matter what.
By the way:
But Piccolo is a Namekian Demon incarnate. Vegeta is from another race of people from another planet. Why does he have to sound exactly like a human?
Easy: because that's how they are supposed to sound. If they weren't supposed to sound like normal persons, they wouldn't have been voiced like normal persons in the original version. The fact that Dragon Ball has a cartoonish look has nothing to do with it.