No idea if its "the best" but look at Syncmate from Eltima, it seems to provide sync from almost everything to everything, I used the free version which did a great job copying the contacts from my Android and putting them into the Apple address book on my iMac.
The free version also does calendars but I didn't try that. I have a feeling you have to pay for photos.