I flew into BJX and took a taxi to Guanajuato. I happily spent several days in Guanajuato -- there is a lot there. From there I did a day trip to San Miguel de Allende by taking the bus. It was easy, nicely maintained coaches and you get a snack. There is wifi aboard though it worked poorly. I forget how much, but it was cheap. About 1.5 hours each way. The bus station in Guanajuato is a bit outside of the main town, so it was a taxi ride to/from.