Typically it's using the default load balancing policy (route based on originating virtual port ID) or, for those with a distributed switch, load based teaming (route based on physical NIC load aka LBT).
LBT is my default go-to teaming policy, except for things like iSCSI vmk binding or some converged infrastructure scenarios as explained in this blog post.
I'm not a fan of using a link aggregation group (LAG) between a physical switch and a vSphere host. It adds complexity while offering little real world value, at the same time it eliminates the ability to use features such as iSCSI vmk binding and multi-NIC vMotion.