I've found reading and writing a UTF-8 encoded XML file with Python ElementTree harder than expected so I thought I'd pull together this demo.
The trick is to open the source and destination files with an explicit encoding instead of relying on ElementTree.parse and ElementTree.write.