October 21 is the single most important date in Portobelo's calendar: the Festival of the Black Christ, when tens of thousands of pilgrims arrive for the procession of the Cristo Negro statue. The atmosphere is extraordinary — music, incense, purple-robed devotees, and a crowd that overwhelms this small town entirely. If you want to witness it, book accommodation months in advance and accept that Portobelo will be unrecognisably busy. If you want a quiet visit, avoid the week of October 21 entirely.
For diving and snorkelling, the dry season from January to April is the best window. Rainfall is low, river runoff into the bay is minimal, and visibility in the water is at its clearest. The Caribbean coast is calmer and less unpredictable than the Pacific side during this period.
May to December is the rainy season. Portobelo is green and lush, the crowds are thin outside the October festival, and prices for the handful of guesthouses are at their lowest. Rain typically falls in heavy afternoon downpours rather than all-day drizzle, leaving mornings clear. It is a perfectly reasonable time to visit if you are not primarily here to dive.
In summary: January to April for the best diving; October 21 for the festival (plan far ahead); any other time for a peaceful, unhurried visit.