I just can't make any outgoing IPv6 connections.
What happens when you try? Running tcpdump while trying to telnet to port 80 on some webserver should give some hint about the reason.
If you are able to complete a threeway handshake, but you cannot transfer data, then you most likely have an MTU problem.
If you can't even complete a handshake, then it is not an MTU problem. And I would take a look at the IPv6 firewall rules.
As for the iptables rules I am using:
-A PREROUTING -i eth0 -p ipv6 -j DNAT --to-destination 10.x.y.z
-A POSTROUTING -o eth0 -j MASQUERADE
I don't think the use of SNAT instead of MASQUERADE is the problem.