I finally figured it out. In reading the Freeswan docs I learned that each ipsec tunnel will pass trafic for its pre-defined networks only so trying to route other traffic through the ipsec tunnel is pointless.
----------------------------------------
From the Freeswan FAQ:
Q: I send packets to the tunnel with route(

but they vanish
A: IPsec connections are designed to carry only packets travelling between pre-defined connection endpoints. As project technical lead Henry Spencer put it:
"IPsec tunnels are not just virtual wires; they are virtual wires with built-in access controls. Negotiation of an IPsec tunnel includes negotiation of access rights for it, which don't include packets to/from other IP addresses. (The protocols themselves are quite inflexible about this, so there are limits to what we can do about it.)"
----------------------------------------
Therefore I had to add another ipsec tunnel defined as 172.20.160.128/25 <-> 172.20.1.0/25 and add it to my templates-custom area. That allowed the traffic to go via the ipsec0 interface.
Many thanks to Bill for trying to help me troubleshoot this.
-Sterling