um there's a simple explanation to this, during KH2 Sora's still incomplete and partially a heartless, thus his anti-form, and I know someone may say "no that's because he used his drives too many time" but seriously does that make any sense? It's because he was part heartless, and thus the reason why when he fought Roxas in the World that Never Was, and later obtained Final Form, Anti-Form became something of that past(unless of course you used AR).... So yeah Sora was part Heartless.
Xehanorts heartless(Ansem) didn't have a body if I recall, that's why he wore that robe or whatever that was, it looked wierd. He only obtained form after taking control of Riku's body.
Not really, seeing how he got Roxas back before he woke up and began KH2 on his own. Sora's whole in KH2. Using his drives too many times isn't plot, it's how the game calculates when to turn you Anti (impossible when you go into Final, btw). In the room where you get the Drive forms, however, there're
five form descriptions - one for Valor, Wisdom, Master, Final, and then aside from them all - Anti. "You see yourself overcome by the powers of Darkness". Anti form is wholly the Drive system's fault, but then again look at it this way -
It's not
because Sora's a Heartless he turns into Anti, it's to
keep him from turning Heartless for real again. You've got a method that releases the Darkness in his Heart in a set amount of time (several Drive usages beforehand) for a set and known amount of time. Repeat the process to keep Sora's Heart from being overflown with Darkness. Also look at the mechanism - the odds to get Anti are higher in boss battles, more so against Organization members (times 4), and especially against Xemnas when you can drive (times 10 ftw).
As much as it's there to put a handicap on drives, it can also be explained easilly through plot - during those plot battles, Sora's heart is filled with even more Darkness because of the events that brought forth the battles (like say with Demyx, after he found out Riku wasn't ok from Saix and that Kairi was kidnapped, and the whole place was about to go poof). To keep him from turning into a Heartless for real again though (since now they didn't have any Princesses of Heart lying around to get him back) they took precautions to make sure they wouldn't have to. He artificially "gives in" to the Darkness, only to revert to his happy go lucky self afterwards.
As for Xehanort's Heartless not really having a "body" - that too can be rather easilly explained.
1. Sora's Heart was stronger, so he managed to retain his sense of self even without a physical body to anchor him.
2. His friends did the remembering of the form for him, so he looked the way they remembered him. Xehanort was alone.
Further basis to this is that Xehanort continued ruling over Radiant Garden/Hollow Bastion for a while after turning into a Heartless, something rather difficult to do if he really would've gone deformed, so it's more likely a result of his long stay in the Darkness than anything, as opposed to Sora who turned back mere minutes after he turned into a Heartless.