Initially, we have also started out using a similar approach as described above when working with smaller client sites. We quickly arrived at the situation where we had to adapt the code every time as every client's site was different. As more content types entered the picture, dependency management also became trickier.
This ultimately led us to developing a solution which handles export file variations, allows recreating the original page hierarchy, taxonomies, dependencies, supports very large blog post exports and provides a framework for optional WordPress plugins and custom fields among other features. In the end we were able to import entire sites in just one click, provided we had a fitting structure and a good template.
We can now say that we have a field-tested solution, validated under many different client sites and configurations.
We're offering the solution as a stand-alone Sitefinity module or as a service to companies who prefer outsourcing the work.
You can read more about it here.