Few days before I did a social networking site for one of my client. I have used BuddyPress for developing it. Actually BuddyPress enable you to integrate social networking modules into your WordPress blog using a set of plugin and a theme.
BuddyPress can be activate from the WordPress plugins page. And The main thing is that we have to select a BuddyPress-enabled theme for integrate BuddyPress into our site.Then add the Widgets via the Appearance -> Widgets section.
Private Messaging, Extended profile, adding new friends,Activity Streams, groups formation ,etc. are some of the great features of BuddyPress.