I have used rsync extensively and I find it very good. I too have tried the file replication bits of DFS and it's a bugger to troubleshoot if something goes wrong.
See http://www.ratsauce.co.uk/notablog/UsingRsync.asp for my notes on the subject.
Edit to answer the question about permissions:
Unix and Windows permissions work in very different ways and mapping between them is not a trivial process. Unless you set the environment variable CYGWIN=nontsec Cygwin rsync will attempt to copy the ACL attached to files, but it will almost certainly mess it up in the process and the results won't be useful.
One obvious problem is that an Access Control Entry (an ACE is an entry in an Access Control List) identifies the user or group that it applies to by a GUID. While there there are some "well known" GUIDs that apply to all Windows installations, e.g. "SYSTEM" and "Everyone", most GUIDs only have a meaning on the server or domain in which they were created. So if an ACL is rsynced to another server it will probably contain GUIDs that don't refer to any user account on that server, and the ACL will be useless.
This applies to any program that copies files, not just rsync. A cynic might suggest that Cygwin rsync is especially effective at mangling ACLs, but this seems unfair to me as handling Windows security is such a hard thing for Cygwin to do.
Bearing in mind that with inherited permissions you normally only have to set permissions on a few high level folders, I strongly recommend you set CYGWIN=nontsec and don't attempt to replicate security.