It's not that there are so few games with good pvp, it's just that pvp games require a level of investment that turns people off.
People play games partly for the escapist "fantasy" of it. They just want to slip into the game and be the best with as little effort as possible.
But then they discover that their favorite character sucks, or they're not utilizing the proper builds, etc. Now the game has a tiny window of maybe a few characters, a few builds and a learning curb that could take months to master. All of a sudden, it doesn't sound appealing, it sounds more like a job.