Needed to do this for a client recently and as first line of research did some googling, as you do.
Although the solutions I found did not seem to work as they were shown to. And some seemed rather convoluted.
Eventually, after some more reading, this is what I did...
Firstly, take a complete backup of the Blackberry device (just in case) using the BB desktop software.
Then, again using the BB desktop software, synchronise the contacts from within "Organizer", use the configure button and choose, "one way to your computer only" and "Windows Contacts" as the "contacts account". Click "OK" then "Sync Organizer"
In the new window that appears, you will see how many records have been found. Click the "Sync" button to copy these to the contacts directory on the PC. When complete, click "Close"
You can then close the BB desktop software.
This process will give you a list of files which i every contact off of the BB as .contact files. These files will be in C:\Users\Username\Contacts
With the iPhone connected, run iTunes and click the "info" button. The top option in the list displayed is "Sync Contacts With" use the button beside it to select "Windows Contacts" and ensure that the check box is selected.
If you do not see the option to sync contacts. It may be that other contacts are enabled on that iPhone. Check and disable as necessary to get the above option available in iTunes.
Make sure that nothing else is selected, unless you want to of course.
Click the "Apply" button at the lower right corner of the iTunes window
If necessary, click the "Sync" button at the lower right hand corner of the iTunes window
Depending on how many contacts there are it could take a few seconds or minutes.
But when done, you will have these contacts on your iPhone in a contact group named "All from my PC"