The best time of the year is shoulder season March to May and September to November when the weather is pleasant, crowds are low, and prices aren't as inflated.