I would recommend following :-
1. 2 NICs physically connected to different switches for fault tolerance and configured as Trunk Ports with the relevant VLANs configured.
2. Create a "Management Distributed Switch" with an Uplink Port Group, with 2 uplinks consisiting of the vNics(e.g. vnic0 and vnic1), corresponding to the physical NICs set up above, configured as "VLAN Trunking".
3. Create a Management Port Group configured as a "Failover" team of NICs, with vnic0 as Active and vnic1 as Standby. Configure as VMKernel Management Group with a VLAN ID for only Management traffic.
4. Create a vmotion Port Group configured as a "Failover" team of NICs, with vnic1 as Active and vnic0 as Standby. Configure as VMKernel Vmotion Group with a VLAN ID for only Vmotion traffic.
5. Physically connect the remaining 2 NICs to different switches and configure just like task 1 above.
6. Create similar swiches and port groups as above but this time for VM Traffic and configure the NIC Teaming for Active Load balancing and Failover and would recommend EtherChannel for link aggregation.
Also make sure your Physical and Virtual NICs are matched up correctly as in document link below :-
I hope this helps. If anything is unclear, please ask.
Good Luck !