It seems regardless how you travel it will involve several taxi rides, so when traveling by yourself like I mostly do, it is very helpful to find some other people going the same way. This saves a lot of money.
I went from Mashhad to Ashgabat in June 2014, I had already met a Chinese girl also going to Turkmenistan in my home stay and we met two Japanese guys at the Turkmen consulate where we all had to pick up our visas.
There are two possible border crossings: Sarakhs, east of Mashhad and Bajgiran north-west of it (See Marks answer). For some reason both my and the Japanese visas had Sarakhs as the border crossing on the visa. There was no way to change this when we picked up the visa, so make sure when applying for yours, you put down the crossing you want to use.
Our Chinese friend had both crossings on her visa, so this seems to be a possibility and I would ask for it. It gives you flexibility when looking for travel mates.
We all had transit visas and I've read before that you have to use the most direct route through the country, in our case straight up north to Turkmenabat, but we ask the official at the consulate and he told us it would be okay to go to Ashgabat anyways, which we did.
Because it was already noon when we got our visas we decided not to cross on the same day but stay one more night on the Iranian side in Sarakhs. We had to take a taxi to a bus station on the outskirts of Mashhad and then a three hour bus to Sarakhs where we stayed at the big hotel at the junction of the main road and the one leading to the border. It was decent and also had an okay restaurant, the town itself didn't have many options for food. In the morning it was a 15 minute walk to the border.
Crossing it took nearly 3 hours, mostly waiting on the Turkmen side.
There was no public transport on the other side but as usually at these type of border crossing a few guys with their cars waiting for passengers. They offered us rides to Ashgabat but after a lot of back and forth we just paid an expensive 15min ride to the bus station of the next town, (also called Sarakhs). There wasn't really a bus station and no buses and nobody spoke English. After a while we found another car driving us to Tejen a bigger town 90 minutes north. There was actually a bus station there with some buses but the next one to Ashgabat was not for several hours. So we ended up taking a third "taxi" to the capital where we finally arrived in the late afternoon, the roads are pretty bad.
So from my experience I would assume the crossing at Bajgiran may be preferable because moving on to Ashgabat seems easier. On the other hand getting there from Mashhad takes a while and I don't know about accommodation on the Iranian side of the border in Bajgiran. You should plan for several hours of the actual border crossing, so it's always a good idea to cross early because the crossings usually close at six p.m.
I don't remember any prices for the rides, it wasn't cheap but not too bad and as I mentioned at the beginning sharing the costs helped a lot.