Personalmente ho scelto Xerces perché più aderente allo standard W3C, mentre MSXML lo implementa un pò a modo suo. Ho avuto modo di scoprirlo mentre cercavo di creare i wrapper delle varie classi.
Xerces ha il vantaggio di essere più "C++ like", mentre MSXML è un COM con tutto quello che ci va dietro (BSTR, VARIANT etc...); però MSXML ha il vantaggio di essere sempre compreso in Windows, Xerces no.
In ogni caso Xerces può essere linkato staticamente nell'eseguibile, evitando la DLL.

MSXML ha diverse versioni, anche se le più comuni sono la 4 (destinata ad essere obsoleta) e la 6 (installata con il SP3 di Xp, Vista e Seven).
Per quanto riguada il SAX non l'ho mai usato (solo DOM), ma basta tentare la creazione di un'istanza di SAX (leggibile dalla documentazione) valida per MSXML6 e se fallisce provare con una per MSXML4.