Stiamo sostanzialmente dicendo la stessa cosa. document.write(), responseText e innerHTML non si possono usare su documenti XML in quanto non è possibile scrivere liberamente in un documento XML dato che se ne potrebbe rovinare la well-formedness, senza la quale il documento non sarebbe più un XML.

Usando responseXML e le funzioni del DOM si può risolvere il tutto, ma diventa abbastanza macchinoso. A mio avviso è di gran lunga consigliabile formattare il responseXML con un foglio di stile XSLT e appenderlo alla pagina tramite il DOM. Rende il tutto più scalabile e riutilizzabile, si scrive molto meno codice, ed inoltre XML e XSLT possono venire usati anche al di fuori del contesto javascript.