Você apenas reescreveu o destino.
Você precisa alterar o endereço de origem para PC1 ou PC2, para que os pacotes de resposta também possam ser NATted. E você precisa mudar o endereço de destino para que o pacote vá para o PC3. Reescrever a origem e o destino é chamado de "NAT duplo".
Você precisa fazer o DNAT na cadeia PREROUTING e o SNAT na cadeia POSTROUTING. Assim (para PC1):
iptables -t nat -A PREROUTING -p tcp -m tcp -d 1.0.0.1 --dport 80 -j DNAT \
--to-destination 172.16.0.3:80
iptables -t nat -A POSTROUTING -p tcp -m tcp -d 172.16.0.3 --dport 80 \
-j SNAT --to-source 172.16.0.1