It could be done with a single virtual switch because the vlan tags are assigned at the vm port group or vmkernel port - so you could have a single switch with multiple port and port groups - you will need to ensure the physical swotch is configured approruately with trunk port for all the vlans -
With that said best practice would be to seperate the vswitches with seperate functionality - so one switch for management, production and uat and IP based storage if you have it - if you do not have enough nics then can reduce the number of vswitches