Indeed - Slony-I will be your best bet if you wish to avoid extended downtime. However, Slony-I is not the simplest thing to set up and use. You will need to spend time reading the manual. You will also need to test it first. Do not just attempt it on your live database and hope it will work.
A possibly simpler alternative may be Londiste. Unlike Slony it cannot replicate DDL, but if you do a pg_dump --schema-only and restore that to the new server you can then set up Londiste to replicate the data. I've worked with 100GB+ databases with Londiste, but not 1TB, and I don't know your schema so I can't promise it'll work. It's not very intrusive though, so if you have problems it's easy to remove.
By the way, the BDR project has a component that's designed to help with this (currently called "UDR") but it only works on PostgreSQL 9.4, and not yet on Windows. It's simpler than Slony-I, but both get the same job done.
In any case: if you need low-downtime, use Slony. If you want it to be done faster and simpler, but with downtime, use pg_dump and pg_restore in parallel mode.
You cannot simply copy the data directory. There is no way to in-place convert a Windows PostgreSQL data directory for Linux use or vice versa.