I've not personally tried any of the cellphone products, but they're just UHF radios when it comes to effective range.
So the key is getting a good antenna up high, and possibly adding an amplifier or repeater.
To really be effective, an external antenna has to connect to the phone via a coax connector (exception - repeater - will cover that in a sec). The "universal" antennas that don't physically connect but have a pad that is held on the phone help a little, but not nearly as much as making a real connection. Not all phones have an antenna connector - you'll need to do a little web research to see if yours does.
An external antenna helps by being mounted higher, clear of obstructions, and by having "gain" (which concentrates the signal at the horizon line, minimizing the power that is radiated up or down).
A simple antenna package with adapter should run less than a hundred bucks and is the first thing to try. The biggest drawback is having the cable connected to the phone.
Repeaters are 3-4x as much money, but get rid of the cable. You still use an external antenna, and the repeater receives and reradiates the signal in the cabin - so your phone communicates to the repeater, and the repeater via the external antenna communicates to the cell tower.
Take a look at wilsonelectronics.com for both antenna kits (they even have an official 'marine' antenna) and repeaters.
Hope that's of some help.