We visited Kendwa, Nungwi, and Royal beaches, and Royal was hands down the best one. The cleanest water with great snorkeling sights during low tide and the most beautiful panorama.
The problem, however, is the road to this beach. There's a five-star hotel, but right outside its walls, there are stinky hips of rubbish that nobody cleans up for days. I wish the Zanzibari authorities would spend some of the money they earn on tourists to at least handle the waste properly.