Take the chicken bus to Los Encuentros (Q$ 10), or you can even get off a few kilometers before at La Chichilla. From there you'll transfer to a van heading to Solola (Q$ 3), and then another bus to Panajachel (Q$ 5).
There are a few direct buses ... but you can also take the bus to Huehuetenango (usually called Huehue) for Q$ 15, and there another one to La Mesilla for another Q$ 15.
If you want to save some 30 minutes, you can ask the driver (or the kid working for him) to drop you off at some cross-road out of town, where you can catch a bus to the border without getting into town.
From Xela I took a bus to Huehuetenango where I changed to another bus that took med to Sacapulas. From Sepulas to Nebaj there aren?t many busses to Nebaj, so I got a ride with a pickup truck. (Pick-ups run frequently as they are many peoples only mean of transportation). The ride from Sepulas to Nebaj took 1? hours, and it was a very cold trip, since we sat outside, on the back of the truck. As the pickup drove up through the mountains, it got colder and colder, and I was glad that I had bought a woven jacket and gloves.