As you note, the app tier does not perform heavy I/O, and is usually a good candidate for virtualization. I don't know your specific environment, so testing it with a representative load will be the best way to get a definitive answer, but it has the "It works for me" seal of approval :) The data tier (SQL Server) runs much better directly on top of hardware (but it sounds like that is what you are doing anyways).
If you are running multiple VMs on the server hosting the TFS App Tier VM, just be aware (and I know this is blindingly obvious) that the other VMs will be competing for the same resources as the TFS VM (RAM, CPU, Network, and Disk), so plan accordingly.