In answer to the pre-booking bit of the question (and specifically ticket delivery) - DSVN now offer e-tickets, which can be printed out, and probably even shown on a mobile screen, although I didn't risk the latter.
With that in mind, it's probably best to prebook tickets if you can, it guarantees you a seat on the train you want to be on. If you're travelling around a holiday, prebook as far in advance as you can.
You've two, possibly three, recommended options for ticket purchase from Seat61.com - it's worth checking for updates there too.
First - the possible option:
- DSVN - the official Vietnam Railways site. The English translation is good, but they don't always seem to accept international credit cards. On the upside, you get to pick a specific seat and view live availability, something that I've struggled to see sometimes on Baolau. When it does work you'll get e-tickets, or perhaps the option to pick up tickets from a machine at the station.
And the definite ones:
- BaoLau - they're a year or two old now. They definitely accept international credit cards. And they definitely do e-tickets. They'll charge a small markup.
- Vietnam Impressive - a more traditional travel agency, they may well charge a bigger markup. I've no idea whether they do e-tickets.
I've had success with getting tickets from all three, but I've had significant delays in getting a reply from both of the agencies when I've been looking for tickets that are harder to find (soft sleeper on a short overnight journey - I managed to get them by booking on DSVN at exactly the right time).