I am fortunate to have been on over a dozen cruises, from 4 to 12 days in length.
I feel that anything less than 7 days is not as desirable, because just as you are starting to relax and get comfortable on the ship, you are thinking about the end.
If you are unable to do a 7 day, than I suppose a 5-6 day would be a good compromise.
If the choice must be between a 3 or a 4 day, then definitely the 4 day!
Have a great trip!!!