Shaun Beeley had an early chance to get the hosts ahead but his shot towards the bottom right corner was met by United keeper Mark Howard.
Paul Mullin had a rare chance for the Shrimpers on the half-hour mark, but Howard was equal to it once again.
Jamie Devitt was next to call Howard into action, but his tame shot was saved.
United had chances to score early in the second half but Che Adams was twice saved, while Roche was also equal to shots from Freeman and Sammon.
Lee Molyneux was Morecambe's most dangerous attacking threat. Two of his shots were blocked before a third, which was heading towards the bottom left corner, was kept out by Howard.
Sheffield looked like the most likely team to score, but their profligacy in front of goal let the Morecambe defence off time and time again.
Sammon blazed another shot over the bar, before David Edgar and Adams shots were blocked with 10 minutes remaining.
Sheffield finally secured victory in the 93rd minute as Neill Collins headed into the roof of the net from James Wallace's cross.