according to my friend who uses it for more than 10 years, this company is the best. bus is overnite, starts at 8.15 pm from Bangkok, Mochit bus terminal (best and fastest way to get there is to go by subway to Kamphaeng Phet station, which is just beside the JatuJak weekend market, and from there take bus or taxi / tuk -tuk to this terminal; by taxi it is about 35 Baht , max may be 40) and goes practically non-stop directly to Nan city, arriving at 6 am. one stop around after midnight with free quite decent meal (buffet or "choose yourself" style) in the special a/c dining hall. this is apart from all kinds of snacks attendent was giving to us since very departure moment - so many that we thought it'll never stop. service is excellent, very polite and friendly staff. 2 drivers on the bus who change for rest, as my friend has emphasised, which means the better safety of passangers. what elese to say ? lot of room to stretch legs, comfortable big seats, blankets. yeah, acceptable toilet downstairs. well, movie of course dubbed in Thai and in our case VCD player couldn't handle over-used CD and had to be switched off. but then - nobody complained that movie was stoped, coz all ratehr prefered to sleep. Ticket is around 700 Baht, and we've got 10% discount too.
companies web site is in Thai - never mind, at least can get contact phone numbers there - starting from 02 - in Bkk and from 054 - in Nan
The better way to reach Nan is by car. Yu may rent a car in Chaing Mai ( it's better a 4-whhel). I booked my car from Italy by Budget that is efficient and has good car. The route you may follow are two: the faster is from Phrae. The second one is fascinating but harder: you have to go towards Phayoao and then descend to Nan, admist the mountains. If you are not in a hurry, choose the seconde one.
No train to Nan. If you want to arrive by train from BKK yoi have to choose a train to Chiang Mai and then leave at Den Chai. From here you may proceed by bus. Same but opposite if your departure is from Chiang Mai.
From BANGKOK there's a train to go to Nan, but you'll have to get off at DENCHAI Station. Take overnight sleeper train is the best way. (If you don't like train you can take a bus directly to Nan town) But i'm a train person :-)
Leaving Bangkok around 9 PM by train you'll arrive Denchai around 6 or 7 in the morning.
From the train station in Denchai, Wait for a blue songthaew (20 baht) bus that goes to Prae town. From Prae town there's a red bus (About 40-50 Baht) to NAN bus station.
And from Nan station you can take Songthaew bus to any hotel in town for 20 Baht.
There is no train link to Nan province, so you have to bus it. There is air service from Bangkok as well if you are in a hurry.
From Bkk, buses leave from the Northern Bus Terminal (Morchit mai). The best way to go is by overnight bus. The VIP buses are very comfortable with leg room even for tall people. If you are not tall, the 1st class buses will do too. The trip is about 10 hours. The A/C can be very cold. They give you blankets but it isn't always enough. Wear long pants and socks.
Day buses from Bkk are available too.
You can also catch a bus from Chiangrai province.
From Prae town, here is the bus you can take to go to Nan city. Fare is around 40 Baht. Catch it at Prae Bus Station.
Side of the bus written NAN-DENCHAI