3to2 as I understand it works best for supporting Python 2.6 and 2.7
Django had committed to supporting older versions of Python 2.x that weren't Python 3 friendly (largely because of older installations of RHEL and CentOS).
The porting strategy was decided by rough consensus in the core team.
We wanted a solution that would be convenient for authors of pluggable apps, so they could use the same strategy as Django itself. This is why we used six rather than an ad-hoc compatibility library.
A big advantage of this approach is that they can test on 2.x and 3.x without needing to run any 'translater'. That means the develop-test cycle goes quicker.