A rock is actually an object so there are a lot of molecules that are stuck together and cannot let most of the heat pass through it. While in water and air, the molecules are more free-willing and more spacious so I think that is why convection travels faster and more efficiently in water and air than in rocks.