Are streaming volumes sufficient for level transitions?

Instead of seamlessly merging my entire game world, I’m putting each “zone” in its own discrete, self-contained area and requiring the player to walk up to a door/boundary and explicitly press a key, at which point the game fades to black, moves him to his destination zone, and fades back in.

Currently I’m accomplishing this by placing coordinates in each door, teleporting the player to those coordinates while the screen is blacked out, and trusting the streaming volume to load the new area in under the character’s feet. Is there a better way to do this, or is my solution adequate? I’m constantly worried that somehow the player will fall through the floor before the level has loaded, and it feels like a very hacky way to accomplish level transitions, but thus far it works really well and I don’t want to mess with a working solution if I don’t have to.

I will +1 for your question, since it has been quite a concern for me. I don’t know how to approach this, yet. Your solution could work for me.
I can’t find any tutorial on how to actually build properly multi leveled game.