It is because the Team Rocket Trio are not evil. Sometimes they can be, but their backgrounds show that they grew up in bad families (not really bad, but strict) and they were forced down a path such as Team Rocket.
And in most cases, would opposing forces not join forces if there is a great evil that threatens everyone?
In all honesty I think, when the time comes, the Team Rocket Trio will betray Giovanni and join the good guys.
I agree with everything except for that last little bit.
While yes, they can be sympathetic and will help Ash and Co. when they know something's greater at stake, I doubt they will ever leave Team Rocket and join Ash and Co. Plus that would be super awkward considering how long they've tormented Ash and his friends. To just see Jessie, James, and Meowth traveling with him throughout the whole region would just be really weird and uncalled for...
I feel like, honestly, though Giovanni doesn't give a crap about Jessie, James, or Meowth anymore. If they ever did manage to capture someone's strong Pokemon and give it to "the boss" he would throw it away or give it back to them and tell them that he doesn't care what they do anymore. To put it in basic terms, I feel like Giovanni is "True Team Rocket Material", and Jessie, James, and Meowth are just Team Rocket wanna-be's who act like they're still a good part of the organization when they're not. Their obsession with Pikachu is really far-fetched too, seeing as a Raichu would be a much better catch.
All in all though they're the main running gag of the show, and they'll never be off the show for good imo. They're not too bland exactly BECAUSE they can by sympatheic, and funny at times when they argue with each other. Also how catching Pikachu isn't ALL they do. They participate in contests and events too like Jessie participating in Pokemon Contests, and James participating in that Ringer Contest in Hoenn where he almost actually won surprisingly. They are a funny trio that is also evil, but likable too.