Ah! Sandstone can be very hard, but it can be very soft as well. Some can be broken between your fingers, and for some you need a Geological Hammer. Trust me. I know what I'm talking about. Did you know that white sand exist mainly of Quartz and is the considered to be the final product of erosion? But that aside. *cough*
As sad earlier Rock Pokémon are usually those made of the material itself. They have thick armour that protects them from harm just like Rocks. But if you put enough strenght in beating a rock (e.g. a geological hammer) with something, it will break. Which explains why a fighting type is strong against it.
It's fire and ice resistance is easily explained while looking at Vulcanoes and Glaciers. While Fire And Ice slowly erode the rockes (melting and polishing it) the rock is resistant. The Magma and the Ice will much faster dissappear than the rock itself.
Steel? *looks at hammer than points at fighting type*
Grass, Water and Ground are easily explained as the Eroding forces. Tree's roots can crack a rock, water makes caves in lime stone, and ground... sand erosion is not uncommon in the dessert.
As for Ground. I've always seen it as those who seek refugee in the sand (Sandshrew, Diglett) or Ground in general as in "made of non-lithyfied erosion materials".
It's no use beating the sand with a hammer or a rock (you need a shovel) because you'll be left with the exactly same thing... a pile of sand, just a little bit rearanged. Whereas you hit a rock, the rock changes.
Ice and Water cause huge changes into non-lythified materials. Rivers carve immense delta's, moving tons of materials from their source area to the open sea.
Grass... Plants live in it, and do with it what they want. Moving it as they see fit.
But all the geological talk aside... Rock: Solid mass, Ground: Less Solid mass and those who live in it. That's how I see it. Excuse me my little rant up there.