If traveling from the Mexico City Airport to San Miguel de Allende, do you find it easier getting a taxi to the bus station for buses straight to SMA or taking a bus to Queretaro from the airport and changing buses for SMA bus?
I always use the bus station right in the airport to go to Querétaro, it leaves about every half hour. There are then plenty of buses that go from Queretaro to SMA.
While I've found it simpler to fly to Leon, then taxi to San Miguel de Allende - seldom more than an hour's drive - I previously took a bus from Mexico City to Queretaro and transferred to a bus bound for SMA, rather than taxi to the bus station in Mexico City and wait there for the next bus to SMA.
Many of us in San Miguel de Allende use BajioGo (see bajiogo.com) for shuttle service (or private transfers) from MEX and from BJX. It's convenient, reliable, simple and reasonably priced.
Others take Primera Plus bus service directly from MEX to Querétaro. During the day buses run frequently and you can book them upon arrival at the airport. Primera Plus also travels to San Miguel but I don't think you can book it from the airport to San Miguel. So, once in Queretaro, you'll need to arrange for the second segment of your trip. Perhaps with Primera Plus or with ETN. There is also more frequent second class bus service BUT I do NOT recommend this. You can also get a taxi from Queretaro but if thinking of that route, reconsider BajioGo.