Against higher level enemies it's better to avoid boarding and try to sink them instead (especially if you play solo potd). For these situations the first condition is to be faster than the enemy - able to move and maneuver fast - in order to stay out of the boarding range or flee if needed. Because of that the Defiant and the Voyager are the only viable choices.
It's always better to destroy their sails first in order to reduce the enemy's speed and be able to keep them in your optimal range.
For me the fastest cycle is fire port, jibe ,hold, fire starboard, jibe, hold,... - which means you have 6 turns to reload. However you can lose often more turns in order to adjust the distance or to defend against enemy's shots.
Staying in the ideal range and being able to hold position does more for your damage than the power or the reload time of your canons. In general you should fire when you're in the 150-400 range (if they have sails) in order to avoid boarding or prevent the enemy from fleeing.
Wit all that said, for me the best canon overall for the Defiant is the royal bronzer which offers perfect range, decent damage and enough reloading speed.
Against big ships a viable strategy is to use a Voyager with Haeferic's Nose at the back - you stay out of the enemy's ideal range and shoot until their sails are destroyed (if they turn to flee you turn towards them and use the 2 imperial guns at the front).
At higher level, when you don't care if you're boarded anymore (and you just want to win as fast as possible) a junk using double bronzers to clear the deck is probably the best option.
Thanks Kaylon, good information.
All, I am going to go back through the responses so far, compile it and add it to the top. I didn't realize that the interest would be this high . So, keep the tips and questions coming in!