And that's a real possibility, I mean, MX willed that his heart go to Terra, so Sora could certainly do the same with Kairi's heart.
But I think there's another reason as to why Ven's heart didn't leave, and it's simply because it had no place to go. Unlocking a heart releases its potential, so Kairi's heart naturally went to her vessel. But for Ven it's not so simple.
His heart is still incomplete. So even if his heart were somehow able to make it to the Chamber of Waking, it would not awaken Ven.
With that in mind, its reasonable to say that his heart belongs in Sora's vessel until it becomes complete again.
As for why Sora's heart got kicked out, I think it has to do with it being active.
Ven's heart was dormant in Sora. Using the Heart Unlocker essentially activated it. Since Sora's heart was already active, it was flooded with darkness (like Maleficent's) and got the boot.
That would explain why Ven's heart was in Roxas, should that be true. However.. I wonder.. Did the Heart Unlocker make it active or was it still dormant in Roxas* (even after his so-called "Awakening" in Virtual Twilight Town)?
* In other words, Roxas had a heart, but it wasn't active, so even though emotions leaked through, he still couldn't full express them or at least couldn't consistently express them. Since he was in a state where he couldn't fully express his emotions and what not, he was still technically a nobody.