I've taken the liberty of pasting John Bull's reply to a similar question from the Ports of Call thread. ( Obviously ignore the comments about Gatwick)
JB has considerable experience, and his answer is pretty comprehensive. Booking a 17:00 flight is just crazy - you will be hanging around for hours.
"For the vast majority of ships, unassisted disembarkation at Southampton starts around 7 am, with regular disembarkation starting at 7.30.
By road, Heathrow airport is a bare minimum 90 minutes on sundays & most saturdays, up to 2 or 2.5 hours on weekdays.
A pre-booked car will cost somewhere south of £100
A bus (ship's transfers or National Express) takes mebbe 15 minutes longer, but you need to add a significant amount of time before your journey starts - the first ship's transfer buses depart about 8 - 8.30 am, for National Express you need a short taxi hop to Southampton coach station and are also limited by the bus' infrequent departure times.
There's no sensible rail alternative to Heathrow.
By road Gatwick is something under 2hrs on sundays & most saturdays, 2.5 to 3 hrs on a busy weekday.
A pre-booked car will cst somewhere north of £100.
Buses take about the same time but again limited by departure times.
Except on sundays there's a direct hourly train, takes about 2 hrs & the station is in the airport. Again needs a taxi hop at Southampton, & again limited by the train departure times. On sundays it's a convoluted journey with changes of train, not sensible..
Ships offer their transfer buses for both airports. Some folk prefer the simplicity of this, but it's not the way to go if time is short, and it's poor value (though Princess' $59 is actually much cheaper than RCI, Celebrity or Cunard).
Airports suggest arriving 3 hours before flight time - that's a very belt-and-braces approach, 2 hours in enough.
So the earliest flight I'd advise for Heathrow is around 11am on saturdays & sundays and 11.30 on weekdays."