Is there any way to make that Drupal 7 built-in contact form sends the emails to a different address than the one of the UID 1?
Under admin/structure/contact/edit/1 you can add or remove any e-mail address(es) you want from the "recipients" box.
Private Message allows you to send messages to users registers on the site. Its a very robust module which integrates pretty well with notifications and rules. It also has a bunch of related modules to extend the core module functionality.