I have aluminum ports and had to make the same decision. I tried powder coat, but mine are cast and powder coating does not
work, we tried on one and it bubbled, was horrible - I had to use lots of paint stripper to remove the stuff.
If your ports are in good condition,. i.e. no pitting, etc. you can have them polished and then anodized. This is the first and the less expensive option. Mine were in poor shape (the
boat was built in '67) so I sanded them down and had it professionally
epoxy primed and top coated with linear
polyurethane. You can hire an automobile painter, you supply the paint. It looks really nice, and I spent about $250 for all six of them. Replacement cost was about $2,000. This is the same paint that is on the boat's topside, so it should last, and if not, it can always be touched up.
Back to powder coat: if you decide on this and your ports are cast aluminum, make sure you mention this to the applicator, and also opt for the
epoxy, as powder coating is not UV resistant.