While migrating D6 to D7, should sites folder be replaced?
The upgrade documentation is quite precise about this step:


  
  Update to the latest available version of Drupal 6.x 
  
  
  [...]
  
  
  Remove all old core files and directories, except for the 'sites' directory
  and any custom files you added elsewhere.  [...]
  If you uninstalled any modules, remove them from the sites/all/modules and
  other sites/*/modules directories. Leave other modules in place, even though
  they are incompatible with Drupal 7.x.
  Download the latest Drupal 7.x release from http://drupal.org to a
  directory outside of your web root. Extract the archive and copy the files
  into your Drupal directory.
  


 cp -R drupal-x.y/* drupal-x.y/.htaccess /path/to/your/installation


Executing the above shell command, will copy all the content of the drupal-x.y directory recursively to your installation directory. This will silently overwrite all files in your installation that are also in the drupal-x.y directory and create directories that are not already there. If there is a directory in both, say sites/default/files, only those files will be overwritten that are also in the source, and no files will be deleted from a directory, that is why you had to remove the core files in step 9. This is the default behaviour of cp. If you want to know more about how this works you could read man cp.

If you are not on unix or you don't have shell access to your server, you have to emulate this behavior (at the moment I cannot think about a copy function either on Windows or Mac that behaves differently, e.g. replacing a folder with files inside with an empty folder), because it is the recommended one, using the admin interface you have.