iCloud Photo Sharing extremely slow
What happens during the Preparing step is Photos first downloads all the photos/videos being shared (so this step can be skipped on a device that holds full-resolution copies of your photos). You also see this step when trying to share a photo by email or iMessage, with Optimize Storage enabled.

Then it will downsample photos to 2048 pixels on the long edge (5400 pixels for panoramas), and videos to 720p. This step takes place locally, consumes a lot of CPU power, and may take a very long time, particularly with videos. That would explain why you can share a single photo fairly quickly, but then the progress indicator seems stuck once you select everything. I’m almost positive it’s your videos incurring this extra processing time.

Finally, Photos will re-upload everything to a separate iCloud server, which is exempt from your storage quota. However, each shared album is limited to 5000 photos/videos combined, with videos themselves limited to 5 minutes long.

Do note that these steps appear to occur asynchronously. However you’ll still ultimately be bottlenecked by either your CPU or Internet upload speed.

I would advise you to do this from your Mac, if possible. Not only can you leave it plugged in overnight, prevent it from sleeping, and continue using it while it’s doing its thing, the resampling step should be much faster with your Mac’s CPU than with your iPhone’s (generally speaking).