PowerShell is really a more efficient way to work with XML. Transact-SQL has never really been good at handling string data of any sort, and while XQuery is significantly better than OpenXML, PowerShell just runs circles around both of them.
I recently wrote an article demonstrating this at SQLMag.com.
http://sqlmag.com/powershell/use-powershell-load-xml-data-sql-server
Allen