After much headaches trying different things, I figured it out and in the end was suprisingly simple but difficult to figure out how to link routing rules to routes.
I had to match traffic for (192.168.3.0/30 ---> 192.168.1.0/24) inside of a rule with a lower priority than (32766 lookup main routing table rule) and link this to a routing table other than the main routing table(in this case I chose the default routing table). Then create a route inside of the default routing table which normally goes last which has an entry for a destination network of 192.168.1.0/24 and gateway(path to use) of 192.168.3.2.
So whenever the router sees there is traffic matching source 192.168.3.0/24 and dest 192.168.1.0/24 it will choose the 192.168.3.2 gateway instead of the directly attached 192.168.1.1/24 network interface.