SQL Server Transactional Replication - what is sp_MSreleasesnapshotdeliverysessionlock?
It's important to understand where is the bottleneck...

Are the BCP-files for the snapshot actually getting created?
Are you using PULL or PUSH subscriptions?
Remote or Local DIST?
Can you setup a Profiler Trace or XE Session on each component...PUB, DIST and SUB and trace activity...plus maybe look at wait-stats and what SQL is waiting for?
Turn on Verbose-logging for LogReader-Agent and Distribution-Agent as well.
Query the History Replication Sys-Table to get additional information too...
sp_helptext on sp_MSreleasesnapshotdeliverysessionlock - what is in it?