I have had some success keeping both a princess (2 years) and currently a Quoys parrotfish.
First of all.......a princess parrotfish will NOT destroy your reef. Mine never touched any corals, and extensive research shows they eat algae, and not corals.
Some parrotfish will eat corals, but the princess is not one of them.
Second, I do not believe these smaller parrotfish die because of incorrect diet in most cases.
I believe they starve over time because they can harbor intestinal parasites which eventually kill them in captivity.
My princess would eat anything I fed him, and had a 1000 gallon tank to roam with tons of natural food.
After 2 years he died, although he had looked thin for several months prior.
So when I got my Quoys parrotfish, I tried something different.
I always QT in hyposalinity for 3 weeks before adding any fish to my reef. This time, I gave him a couple of baths using prazequantel as a de-wormer.
If you are interested I can find out the exact dosing, I used Nogas book.
So far after 1 & 1/2 years the parrotfish is very fat and healthy looking.
His condition is much better than the princess after the same time frame. He also does not touch any coral in the tank, and eats everything as well.
I realize 2 years is the mark to beat for me, but by the looks of the fish he will make it there just fine.
2 Years is kinda the magic mark for a fish IME. If they can make it that long, they can live for 10+ years. On the other Hand, many fish can live will disease or poor diet for a few months, but not usually for 2 years.
Anyone attempting to keep on of these two parrotfish sould have a large tank (200+ gallons) with some open space to swim. These fish needs lots of room to move about.
They do not get very big if purchased at a reasonable size.
My Quoys parrotfish is about 6", up from about 4.5" when I bought him.
John