With those two criteria I would vote for late April thru early June. Or October. And that assumes "best weather" means least likely chance of rain but not too hot.
Early March. When we went then it wasn't busy, the weather was chilly at night (keep in mind I live in southern Arizona, I get cold at 70) but gorgeous during the day.