Well, depends what you mean by "most efficient." Do you mean most efficient for just one person, or most efficient for everyone involved? Because if you have 7 friends that will do whatever you say, you can do friendly ship battles, have all of the opposing ships sail over to you, kill them all for 2 rounds, rinse and repeat, and just earn an obscene amount of credits and keys very quickly. That would be very efficient for you, but not really for anyone else. The opposition would be better off collecting shells at the grotto.
Short of that, the best method is probably still "friendly" ship battle. That would be much slower for you, since you only win half the time and during winning rounds, you only get to kill one boat as opposed to 4. But it's probably the best "fair" way to get credits. Ideally, you would get a squad together that joins quickly, and have one team be dutchmen, while the other uses black pearls. Have the boats meet in the middle, and have each pearl shoot one dutchman (pearls have three cannonballs and dutchmen have 4 health, so the dutchmen will still be alive) and then have each dutchman shoot back at its partner pearl, killing it instantly. This way, the pearls rack up some points before dying, and the dutchmen get more points for killing them. Changing ships after every round would be inefficient, though, so ideally everyone would use the same boat for many rounds before everyone switched.