Over the years the number of problems that could have been solved by using xmlaccess is very high. But many refuse to take the time to learn xmlaccess beyond the simple export. First off you should make yourself aware of all the samples in PortalServer\doc\xml-samples. This area contains items like installing portlets exporting a page and a portlet, installing themes, delete a page, and review items.
A few things to be aware of is that xmlaccess has a general way it works, you have an input and an output to the process. Additionally xmlaccess is single threaded. So at one time you will process one input. Now that input can be a delete, and export request, or an install. Everything that you are telling portal to do is the import file, but the export file is the results. The result can be simply that it worked or the items you asked portal to import.
Some of the problems you can solve with XMLaccess:
All of these are solvable but can problematic if you are not well versed in xmlaccess. In case one, we would use xmlaccess to do one of two things. Either export the themes, and copy the one that is a problem, and put in a new file and then delete that from the server. or you could find the page you care about, export just it, and change the theme reference on the page so it uses the default theme, or a known working theme. But if you do need to point to another theme, you need to put a locate into the theme.
You can follow similar patterns with the other issues. Things to remember are that there are two domains to be aware of, either cust, or rel and they stand for customization, or release. Release is where items for all configurations are stored, while customization is at the user level. This is key because of the items that may or may be included in within the xmlaccess file.