Vice City was a great game, but San Andreas is just an improvement in nearly every category. It's understandable that you might not like the characters as much, but everything else is just...better. More cars(not as crappy looking either, in comparison), larger world, a more unique storyline, more weapons, customization options and a great soundtrack etc.
It has it all.
I still liked GTA4, because to be honest. I didn't even do all those silly extra missions in the previous ones. The only problem with the game was the story and character development. It starts out great, it keeps you in suspense in what you think is going to happen. But as soon as you're driven out of Hove Beach by Dimitri, the story trips and falls on it's face. And it's back to doing more tedious missions for the mob, the story goes absolutely no where at one point. It could have been so much more if they put more thought into what Niko was going to do other than "I need the money".