Great beaches is another of those subjective things like food!
If these are all new to you ports, Costa Maya is probably the best one to stay on board. You would need to take an excursion, or taxi, away from the port in Roatan and Cozumel to find a beach.
Of those ports Costa Maya probably has the worst seasonal sargassum and has also had a lot of ships unable to dock this year due to winds.