I'm not sure if the writers intentionally wrote Sora this way or if it was just an accident, but Sora doesn't seem to have much compassion for the lives of people he considers "evil".
And this is exactly what makes me wonder why some fans point out that Sora wouldn't be "able" to finish off Master Xehanort or be "too forgiving" to deliver the final strike against the old coot.
Considering the scope of what Xehanort has done compared to all the other villains so far, I highly doubt that Sora would have any problem to plant his Keyblade right through Xehanort's chest to finally end his crusade of madness.
Sora is
not all forgiving and those who hurt his friends or try to prevent him from helping those friends can expect to be put down without much batting an eye on his part.
The best examples for that are in KH 1 when he strikes down Maleficent without any hesitation, in CoM when Vexen, Larxene and Marluxia deliberately anger him (Vexen by how he treats the Riku Replica, Marluxia for what he does with Naminé and Larxene for being just an overall sadistic bitch).
That's also why he wasn't really shocked at Vexen dying itself but because a) it was a comrade of Vexen offing him (Sora expects of allies to be loyal to each other, even if they're his enemies) and b) how gruesome it happend.
Sora would probably have finished off Vexen himself in a more swift and "clean" manner like he offed Luxord in KH 2, although he didn't do it because he had still some demand for a living Vexen:
Re: CoM said:
Sora: None of that matters! Just put Riku back!
Sora was still on the impression that Riku was controlled by Vexen and gave him a chance to survive if he released Riku from his control.
It was only later that he learned that the Riku in question was a Replica.
Larxene doesn't require an explanation I think since even the most peaceful person will eventually crack and punch your face in if you do nothing but pester him/her, which Larxene is undeniably a master in doing.
Marluxia, well, he was the one responsible for all the crap Sora went through in CoM and on top also acted like a condescending, upper class snob all the time using everyone around him as his pawns. If there's anything that has been shown
repeatedly over the course of the series which is sure to piss Sora off it is when people just use other people as pawns to further some selfish agenda and then on top also mistreat them.
It just goes further with the same mindset in KH 2, as Sora doesn't give a damn about any of the true Disney villains, neither Shan-Yu, Hades, Barbossa, Jafar, Oogie, Scar, Ursula or Maleficent get any sympathy from him and if he has to he has no qualms to off them.
Heck, he even
jokes about how Donald, Goofy and him vanquished Maleficent a year ago in front of Pete.
The Organisation members in KH 2 are no different as they all not only threaten the worlds but also get to piss off Sora personally somehow.
During the battle of Hollow Bastion, Sora, Donald and Goofy were on their way to help Leon and the others in their time of need and Demyx pops in to not only
hold them off but also to annoy them. Donald explicitly orders Demyx to move out of the way and he doesn't get the message, pissing Sora off because he wants to help Leon and the others, but can't because this idiot is standing in his way. That combined with the fact that Sora just learned the Organisation has
also kidnapped Kairi just made him angry enough to forego any possible "compassion".
Later on Saix almost pulls a Larxene on him with his teasing about Kairi and Sora getting angry the same way just shows that off even more.
Xaldin was messing up the world Beast's Castle and targeted both Belle and the Beast personally, more friends of Sora and as explained above, he
hates such behaviour.
Xigbar was trolling the whole time and also attacking first, so no wonder Sora didn't have any pity.
Luxord not only proved how dangerous he was when messing up Port Royal, he also captures Kairi, Riku, Donald and Goofy with his cards, incurring Sora's wrath as well and thus is unceremoniously cut down as well.
After the Saix-battle Sora does seem to be moved shortly, but it is mostly because of how pitiful Saix final words are as he quickly moves on to the next subject, asking Riku why everyone is calling him Roxas.
However, as seen with Maleficent when she (inadvertently) helps him during the course of KH 2 when he does show some care towards her, it also depends greatly on the circumstances how Sora acts with finalty.
His heart is, as Ansem the Wise puts it in DDD, able to see the good before the bad, but that
doesn't mean that Sora is unable/has too many scruples to put down someone if he feels that it is necessary to help/save someone more close to him or where he sees more good than bad.