The key feature that help us do code reviews on our team would be shelvesets. Granted, they are a less visible feature to work with in Visual Studio Team Editions out of the box. You can take it a step further and define a workflow as part of your Team Project template that enforces the code review process through policies and custom work items. A good example to start from can be found in CodePlex: TFS Code Review Workflow
Personally, I have not used the workflow; our team feels that we are sufficiently able to perform code reviews with the base shelveset feature. It only takes a little understanding on how to use it. Here is a summary of our process:
Developer creates a shelveset of the changes they want to commit.
Developer sends an email to the Reviewer specifying the name of the shelveset to review and any associated work items to reference in the changes.
Reviewer gets the shelveset and performs a review, optionally making any suggested modifications if necessary in a new shelveset.
Reviewer sends an email to notify the Developer once the review has been completed.
If the review did not result in any suggested modifications for the Developer to make, the shelveset can be committed by the Developer. Otherwise, modifications are made and the process repeats.