<p>Does everyone just use XML in the message? Are there any good alternatives to XML?  If you do use XML, do you define an XML Schema so clients know how to send messages to your service?</p>

We use XML, but I think the important thing is to tailor the solution to the problem.  The reason we use XML is that we are basically sending an object across in the message.  There's no reason it can't be plain text, if applicable for the message you are sending, using headers to send along properties if appropriate.
We haven't defined an XSD or DTD for our XML messages, but we do have a formal document describing their composition so that other teams can use our feeds without bugging us.