Some Dwarf Angels do a great job. I once had a Coral Beauty, that did a wonderful job keeping algae eaten. I've had mixed experience with Lawnmower and Starry Blennys.
I had a long spine urchine that would eat every kind of algae. But it was too effecient and then started in on the coraline. Ate every bit of color off the walls and rocks.
One spot foxface (Siganus unimaculatus). I have a Caulerpa problem in my 29 biocube. Bought four of them, one at a time, as small as I could find and turned them into the LFS when they reached about 4 inches. The last one was the last one I needed they decimated the algae.
Tuxedo Urchins have helped me. I have six in the tank at all times and they mow down everything from hair algae to brown plate algae to turf algae (grn and red). Only thing they won't eat is bryopsis. If you find something that does, I'll pay for that information.
My Lawnmower Blenny and even my Coral Beauty love the algae. Also have Mexican Turbos in the reef tank.
In my predator tank, my Pencil urchin and Pincushion urchin do a killer job. (like a PP said they will eat Coraline after the hair and other algae runs out. I turned my light timer up and let the hair algae grow in there so they don't run out of food, but they almost always keep up very well!)