"This is likely because Sora's time as a Heartless was short, having recovered his heart and returned to his human form soon after leaving behind Roxas, his Nobody... Likewise, Roxas is Sora's Nobody, but was left behind because Sora's Heartless regained human form using Kairi's heart instead of his own. "
===Secret Ansem 12===
When Sora was a heartless, Kairi's heart reached out and touched Sora's and brough it back to the light, bringing Sora back. He however was still incomplete because he lacked Roxas, his body and soul. Inessence the same thing that happened to Xehanort, happened to Sora, he was able to keep his true form, although it is believed by many that Xehanort still was still a heartless and kept his form for other reasons.