The view from either will be fine. The Shangri-La is actually a little closer to the water, with a more "on the water" feel. The Sheraton is further back, but closer to the tip of the peninsula, so you might get a bit more panorama if you have a higher floor. Keep in mind there are buildings all around that area, so some views could be slightly obstructed. In either case I don't think there is a bad view. You'll see the skyline from both places.
I usually stay at the Intercontinental Grand Stafford, just a bit further down Mody Rd. It would have (I think) roughly the same view of Hong Kong island, and I love it.
I also personally enjoy the promenade... walking or running. From the Shangri-La it's just short walk over the pedestrian bridge. Of course you can get there from the Sheraton, but it's a little more effort. If you like to stroll you can grab a coffee (or a beer!) and wander about 1.5 miles (2.5km) in either direction. Avenue of the Stars in one direction, and a more peaceful residential tower setting in the other.
I think it's only a 5-8 minute walk from one of those hotels to the other, so either location is fine. With the Sheraton, you are on bustling Nathan Road if you like that sort of thing. And you are closer to a MTR station. But the Shangri-La is only a few blocks away.
I've never stayed at either, but I had to choose I'd select the Shangri-La. It's nicer on the outside, and I think you'd have more of a feel of being "on the water" then you'd get from the Sheraton. I've wandered through the inside, and it's nice. There are some outdoor restaurants along the water side (but not on the water, mind you.)