Generally speaking, the immigration/customs procedures there are a mess. Be sure to allow plenty of connection time for after cruise flight, if you are flying out immediately.
Typically the problem is that the immigration people board the ship before it docks and all non-US passengers have to meet with the immigration people for clearance before the ship is cleared for anyone else to depart. And there's almost always one group (if not more) of non-US passengers who either "didn't hear the announcement", or "didn't think it applied to them", or just didn't want to get up that early (it's usually pretty early in the morning).
On our recent PC cruise (not
DCL) passenger clearance for departure was delayed so much that there were people who missed their flights out. We were supposed to be departing the ship by 8:30, and we couldn't get off until almost 10:00.