Also habe mir vor kurzem auch diese Frage gestellt und hatte mich dazu entschieden die Schnittstelle zu abstrahieren um mehrere Audio Backends implementieren(erstmal OpenAL) zu können.
DirectSound ist leider tatsächlich offiziell veraltet, bietet aber gegen über XAudio einen signifikaten Vorteil: Es funktioniert überall. Und damit meine ich nicht nur Windows XP. XAudio muss erst am Endrechner vom Nutzer installiert werden. Außerdem hat man die Wahl zwischen der Version 2.7 die leider nicht mit Visual Studio mitgeliefert wird und erst die umständliche Installation des veralteten DirectX SDKs erfordert, und der neueren 2.8er Version, die zwar auf Windows 8 vorinstalliert ist und weniger COM benötigt, dafür leider aber wirklich nur auf Windows 8 läuft und in C++ keine Device Auswahl mehr ermöglicht.
XAudio ist in mehrere Teile aufgeteilt: XAudio selbst, X3DAudio, XAPOFX. Außerdem gibt es noch XACT, dass allerdings inzwischen auch schon offiziell veraltet sein soll. Das war wohl eine High Level Engine mit GUI Tool zum Einrichten der ganzen Sounds.
XAudio und X3DAudio sind einfach verschiedene Komponeten und waren vor 2.8 in unterschiedliche DLLs aufgeteilt und prinzipiell technisch komplett unabhängig. X3DAUDIO besteht zum Beispiel nur aus 2 Funktionen, die dir die genauen Soundparameter ausspucken, wenn du die Positionen im Raum usw. übergibst. Dopplerfaktor gehört auch dazu, aber X3DAudio kann noch viel mehr berechnen. Die berechneten Werte kannst du dann auf deine XAudio Soundquelle anwenden. Theoretisch könntest du aber auch die Werte aus X3DAudio für DirectSound oder deinen eigene Mixer verwenden. Wie sinnvoll das wirklich wäre, ist natürlich eine andere Frage.
XAudio scheint mir im Moment auch auf Windows keine wirklich stabile Plattform zu bieten. OpenAL ist zwar nicht wirklich fortschrittlich, bietet viele Funktionen oder ist besonders praktisch zu verwenden, läuft dafür aber stabil und auf allen Plattformen. XP, Windows 7, 8 und all den offenen Systemen. Ich würde an deiner Stelle im Zweifelsfall auf OpenAL setzen. OpenAL Soft ist zwar leider LGPL, aber du kannst es als DLL mitliefern und solltest so den Nutzern die Installation der alten OpenAL Implementierung ersparen können.