It really depends upon how the returned data is to be used in the page.
If you're just going to shove something into an element's innerHTML, it's easy to let a server-side termplating engine (JSP,php,Tapestry,et al) do the substitution and formatting for you and return the renderred HTML. Especially if you are using something like Prototype with its nifty Ajax.Updater facility.
If the data is highly structured, and doesn't fit into the above categories, XML may be the best option.
Personally, I find myself using XML the least. I'm usually sending either plain text, JSP-generated HTML, or JSON. XML is used only when none of those are appropriate.