Okay, we hate to break it to you but there is really no winner here. Your choice depends on the material you choose to deal with, the complexity of the piece your trying to create and the budget available.
3D printing machines have come a long way and they are able to create complex shapes and internal components a smidge more easily than a CNC machine. By contrast, the conventional CNC machines are somewhat limited by the tools available and the axes of rotation the machine is capable of utilizing but in most cases this is not applicable only for projects that are extremely detailed and complex.
CNC machines are much more practical compared to 3D printers in the sense that they are able to work with a much larger variety of materials. Just about anything can be machined while by contrast only certain materials have been adapted into filaments suitable for 3D printing.