If you follow my route during a drier season or are going around the same time (July) then here are the changes I'd make:
- Consider either going on a food tour or getting a guide to bring you around the areas outside of the Old Quarter in Hanoi-- 3 days was enough time, though we could have changed the trip to go to Halong Bay.... (Sapa seems pretty but everyone on the trip we've met so far has loved the food but also gotten some severe food poisoning there.)
- Could have done Ninh Binh as a day trip-- like take the 9am train down from Hanoi, have lunch in Ninh Binh, go to Trang An and Hang Mua, have dinner, and then hop on the 7:30pm train south to Dong Hoi.
- In Dong Hoi, it probably would have been better to have just gone straight to Phong Nha with transportation arranged by the hotel and then figured out which caves to go see or places to go to. Unfortunately the roads were pretty bad because of the rain by the time we were done with Hang En, so we couldn't bike down to the Pub with Cold Beer (though there is a company that runs mountain bike trips around the area and that could have been fun). So Phong Nha could have been done in 3 days, but I think there's actually a lot to explore (if you have the right mode of transportation).
- Easy Riders was a pretty cool option and I'm glad we bumped into them in Danang (they're the motorcycle tour group where they drive you around and you just sit on the back of a bike). If I hadn't already seen so much scenery (really the north/north central part of Vietnam has a lot of Karst/limestone mountains that all look the same and remind me a lot of China's mountains) and driven along the Ho Chi Minh trail for a bit to get to the trail head for Hang En, I would have wanted to go on a tour of "Real Vietnam" with them.
- Hoi An was interesting, but I think if I had to do it over again, I would have stopped in Hue for a day, then Danang for a day (or two, depending on if I went to like a nice beach resort), then gone to Hoi An. Not quite sure if I'd want to do Cham Island again (it probably would have been more pleasant if it wasn't quite so hot) mostly because I wasn't really sure what to do (it's one thing to be on an island with locals that you can have conversations with about their lives, it's another to be on an island where no one speaks English and no one seems to want to do anything either in the heat other than sit by the beach and drink).