Porting Minecraft from Java/OpenGL to C#/XNA is not the key part in making it more efficient. I facepalmed my way throgh the Minecraft mechanics and saw some obvious flaws:
Chunks
Chunks contain 16x16x128 blocks. So everything from bedrock level to the top of the sky is stored in one chunk and is loaded at once. Which is obviously inefficient because one does not care about the blocks beneath the player unless he digs down. They already changed this in some snapshot version...not the official release though I think.
Map Format
The map format partially relies on text searching to find the correct place inside a map file...compared to Bungie's map format it's a QQ
List goes on and on...
http://youtu.be/7anx9_3TYvg?t=37s
http://www.youtube.com/watch?v=oXmwLkSDQL8
The version is already a tad older and relies to much on the CPU. Right now I am working on getting some HLSL going to let the GPU do all the work.