If you want to use GMail sync - then it's easy.
Simply sync from the IPhone to GMail then on the android sync back.
If you don't want to use the Gmail option - it turned out to be pretty tough to transfer them.
I've used Export Contacts 1.6 app on the IPhone - it starts a service and then from any browser you can export contacts as vCard, CSV or PDF. vCard has two formats: single vCard and ZIP with many vCards (outlook option).
After I've downloaded single vCard file with all my contacts I've uploaded the file to another webserver, opened the direct url on the Android phone (with Firefox if that matters) and it asked me to open or import the vCard.
I told it to import vCard file and voila all my contacts are now there with all fields. Birthdays are kind of crappy and pics are missing (Export contacts didn't expored the pics)...
ps. If your iPhone is with broken display and has a lock pass code and you can't unlock it so you can sync with iTunes then DFU mode will do the trick. Hold the home button and sleep button for 10 seconds and then release the sleep button while continuing to hold the home button. iTunes should not show the message that a phone has been detected in recovery mode.
P.S. I've imported the contacts like this but noticed some of them (about 50% of ~600) are missing. Well... I ended up Installing a http://funambol.com/ server + outlook plugin + iphone app + android app - now I have my contacts transferred as expected and also I have a 'backup' place ( my custom funambol server).