I don't think what you are trying to do is exactly source routing, which I believe involves directing packets through certain gateways on your network that they may not normally visit, as opposed to simply deciding which local NIC the traffic will exit via.
My (limited) understanding is that all traffic destined for the respective subnets your NICs are connected to will go out through the appropriate NIC. Traffic for anywhere else will go to your default gateway; if your default gateway is on one of those two subnets then it will leave through the NIC attached to that subnet (unless you have any additional routing rules defined). Normally this default behaviour should be fine; why do you need to change it?
Annihilannic.