In years past, I helped a neighbor replace his water heater, later I had to replace one of my own, and still later, replaced one for my daughter, but I've reached an age at which I'd pay the $250 labor before I'd change mine myself.
Sure it's expensive, but that plumber has to have a truck, a lot of tools, maybe liability insurance, and you're paying for his time on the job as well as the time coming and going. And if he's licensed, he had to have some training and other expenses. So I don't think $250 is unreasonable.