I am by no means claiming this to be the best way, but it's what I did to accomplish your question...
For contacts, I used the "Transfer my Data" from Nokia apps which works through bluetooth connection. Mine worked flawlessly from 4s. It will add the contacts to your default Microsoft account, so my only suggestion is that you start with a blank canvas first, as in use an account that you do not pull the contacts from (outlook.com, or hotmail for example). I made the mistake of pulling all my outlook.com contacts first and it pulled WAY too many contacts that I never knew existed, such as email addresses I sent emails to once. So, if you start with an empty contact list, you'll have your exact contacts from your iPhone in your 920 and you can then add in your facebook/twitter/linkedIn accounts to merge with your current contacts. I wish I would've done that first and saved me a ton of time spent deleting contacts I didn't want.
As far as pictures go, the most brute force would be to import them into one folder on your computer, then sync them or drag/drop them onto your 920 once connected via usb. Another option is to upload them to SkyDrive so you have access to them but don't necessarily take up hard drive space. Perhaps someone else could chime in on better ways.