From experience of dealing, in a service role ,with people who wear you out, and whom you can't get rid of, and about whom your conscience as regards your service to them is completely clear, here's what is done........a bit of passive agression.In other words, disengage gradually, continue to do the job but be unavailable at times as people like this in my job use up valuable time that should be given to others.
Slow anwering of emails and nofication to the person that such delays will occur do to heavy workload but will be attended to in due course,use of appointments and scheduling of times that calls will be attended to, these are usually effective. In other words, you retrain the person as to your availability. If your service continues to be good, the person will stay with you, if they are prima donnas who are not worth it , they will leave.
In my experience, sometimes with people like this, if you don't realise it at the start of the relationship and you are an efficient person, you can easily make a rod for your own back. However by putting a price on your professionalism and being a little bit more assertive, chances are you will resolve this
Obviously if this doesn't work, well then it comes down to economics versus mental health.
Unfortunately in my work, we can't get rid of our 'customers' but we try to keep them under control!!!