Travel from Sayulita to San Miguel de Allende

My husband and I are spending a week in Sayulita, then need to travel to San Miguel de Allende for one week. What is the best and safest transportation mode for this? Bus, fly, or drive?

The bus and plane are very safe ways of travelling. But, by bus it's longer travel time  (best service ETN also Primera plus and Futura). By plane, it's faster but don't know were is the airport in SMA.
As far as driving is concerned, it's also safe but you need your way around.

Buena suerte, GyC.

Airport for SMA is in Leon.  Bus from Vallarta is 11 or 12 hours if you get a good connection in Guadalajara

Leon is not the only airport for this area. Queretaro is actually closer than Leon (about one hours drive as opposed to 2.5 hours).