Absolutely - I'd be more inclined to go with 3 than anyone else - but check broadband coverage for the areas that you're intending to cruise first - use the links from this page to reach each providers map. Also check how much data you're likely to use and what the excess charges are!
The higher you can get the receiving aerial, the better, so a dongle that will accept an external aerial is better than one that doesn't. Given that, it may mean that you can keep your dongle inside whilst the aerial suffers the outside weather. Without an external aerial the dongle will need to be in an advantageous position - which means on the outside or close to a window - so a USB extension lead of up to 5m will be needed (over that length the cable will require extra power to overcome limitations in its transmission capabilities - a powered cable).
If you have more than one device which you want to reach the 'net with, then a 3G router is an absolute boon. The router takes the 3G signal and converts it into a wifi one, allowing multiple devices to share the internet connection. The mifi is one, but combines the role of dongle as well (the SIM card is contained within it). A 12v powered one allows you to place the router in a more weatherproof area with the dongle on a USB lead in a good receiving position.
My setup is a Huawei E156 dongle up a mast (that also supports a TV aerial) with an external antenna, connected via a 3m usb cable to a Huawei D100 router in my cratch. The dongle is weatherproofed in a bicycle inner tube. I've had no problems connecting to the wifi with various flavours of windows, an iphone, and an android phone and tablet. Another advantage of the wifi is the ability to conect to it within 100m or so of the boat, so towpath sitting and surfing is a summer blessing.