7 days are my favorite, but on the question of 3 or 4 day - do the 4!
The big plus is the extra day which many times is a sea day. Sea days are my favorite! The ship does seem crowded at times, but there are so many extra things to do on sea days - from ship tours, to contests, to just watching the sea go by!
Some 4 day cruises do go to Freeport so know which one you want. To some an extra port is a great incentive, but like I said I'd rather have the day at sea.