I haven't explored much on this area but sharing my basic understanding.
Physical Switch : When we need to enable communication among multiple devices (PCs), each PC is connected to switch. Switch works at the Layer-2 protocol so as soon as PCs are connected to switch learn about the mapping of MAC and IP address. Physical switch has limitation on # of port.
vSwitch: It is used when multiple Virtual machine wants to communicate to each other. There are unlimited number of ports on vSwitch. By using vSwitch, private and as well public network can be created. It is possible to make one interface of VM as part private network and another interface with public network. For example: VM running web server, web server will use one interface to communicate with web client (sitting outside the network) while another interface it uses to interact with VM running database. Creation of vSwitch is part of Hyper-Visor.