Now I ask: Is it common for developers to build their projects in Virtual Machines or do I have to own physical Machines? Is there any other alternative for using VMs?
No, it is not common. Most if not all of the developers I know have physical machines for testing. Testing in a virtual machine is risky for many reasons; especially since a majority of your end users will not be running the build from within a virtual machine. If you are going to build for Windows, have a native Windows machine with at least your bare minimum target hardware.