The latter is what Path of Exile does, I image most of the games I mentioned do this. You'll see a "Validating files" or some such step before the download begins and then the download will rocket along as fast as your internet/the server can handle with it finally beginning the patching process when the download of all data completes.
Guild Wars 2 seems to be checking one file, determining if it can be differentially patched or need a complete replacement, downloads the relevant data, patches the file and then moves on to the next file to repeat the process, a process that is waaaaaaay slower than it needs to be.