I previously asked the same question as the two posters above and then thought better of it.
But now, having 2nd Lt. in my sights and quite a few more battles vs small ships (my Cutter vs enemy Cutters and Lynxes), I have been finding:
1) For Admiralty Missions, it's more helpful - against armed AI opponents - to go for their stern armor and rudder first, then - if I want to board them - work the sails a bit with chain before proceeding to grapeshot stern rakes to whittle down the enemy crew. If I just want to get them to surrender to get the Gold & XP for completing the mission, I keep hammering them with ball.
2) Against traders (Trader Brig and Trader Lynx) I capture in the Open World, I find I need to make sure to approach as close as possible while maintaining a downwind position in the Open World, so that when the battle instance loads I will be downwind and able to catch them. I use chain to bring the sails down ASAP so that they can't run away, then use ball to reduce the stern armor and rudder, then grape to kill the crew.
In both cases above, once I get to grape, I keep graping till the enemy crew is down to 10-15 or so (and I hopefully still have 35+). This makes the boarding take even less time, and if the enemy's sails and rudder are gone, you can pretty easily grape stern rake all day if you want. Make sure to remember to do the "prepare for boarding" action before you try to board!
Once it's time to board, I get to the downwind side of the enemy ship and then slowly round them up into the wind - the AI will usually try to avoid collisions. Once speed gets below 5kts and both ships are pretty even matched (neither is accelerating / decelerating relative to the other) the boarding [G] will usually show up.