Everything depends of the entire infrastructure, size, technologies, services, etc. I suggest routing protocols, for example EIGRP or OSPF and use static routing for specific task like default routes (0.0.0.0/0).
Now you could find the best practices through the following links:
This is for 6500 but you can take it as reference:
Hope it is useful
Julio in the link you sent me it says avoid routing protocols
".28.5.4 Routing Protocols Design on VSS It is recommended to avoid routing protocol peering on a single routed port. As apart from the routing resiliency issues such a design encourages traffic flow through the VSL links which is not recommended. Also, it is not a good design to have routing protocol peering with both active and standby switch to achieve routing resiliency for the traffic. This is because in case of failure of one of the link, the time taken for the traffic to converge is equal to the convergence time for protocol. (That directly depends on hold-down time of dynamic routing protocol). If L3 MEC is used, the traffic convergence is instant. The other disadvantages are having multiple routing protocol neighbors means increase in control traffic thus increase in CPU utilization."
Anyone have an example of a design they run ?
It does not say avoid routing protocols, it is recommending how to setup L3 peerings ie as I understand it is saying don't peer from just one of the VSS pair and don't have each VSS switch peer separately.
Instead used a L3 etherchannel that is spread across both VSS switches to any other L3 devices.