I had this problem today and in one case I waited about 12 hours before I disconnected in frustration. When I disconnected the phone claimed the restore was complete and rebooted. However, not all my data was recovered. This included photos, music, settings, favorites, contacts, and weather cities. I performed the restore 2 more times and each time I I got stuck at the "restore in progress" screen. However, these times I waited only 10 minutes before disconnecting. Each time more data was recovered. Finally, on the 3rd restore the process went smoothly past the "restore in progress" screen into a reboot and Viola! all my data and settings were back - except my music. But that is a small price to pay.
Moral of the story - try restoring several times. YMMV. Good luck.