The nearest airport to San Cristóbal is located in the state capital of Tuxtla Gutierrez, about an hour drive away. You should be able to find direct domestic flights from all around the country.
For those coming by bus, direct night buses connect the city with Oaxaca to the west (around 12 hours). You can also come from Palenque, which also requires a night bus that takes around 11 hours.
Despite being in the same state, the reason the bus from Palenque takes so long is because all coach buses now use a longer route via Villahermosa, Tabasco.
This is due to regular blockades and occasional armed robberies on the road between San Cristóbal and Ocosingo, the town about halfway to Palenque.
If you’re willing to take the risk for a shorter journey, you can get to/from Palenque via two colectivos with a transfer in Ocosingo. I’ve met people who’ve done this without any problems, but you never know.
In any case, Villahermosa, Tabasco is well worth a couple of days in order to see the Olmec heads at Parque Museo La Venta along with the Mayan ruins of Comalcalco.
You can also easily get to San Cristóbal from Comitán, which is further south in Chiapas and nearby the El Chiflon Waterfall and the Montebello Lakes.
You may also be able to reach San Cristóbal direct from Guatemala, but it’s best to ask for details on the ground.