As a kid I learned that Moshe wasn't allowed to hit the water because it saved him when he was a child and he had to show hakaras hatov (similar answer for why he couldn't hit the sand that saved him by hiding the body of the mitzri he killed). But the water didn't save him, the little basket, the Egyptian lady who yanked him out or even the sister who watched him might have saved him, the water didn't do anything. If someone was in a car accident an survived unharmed they would say the seat belt saved them, not the road. How can we make sense of this ma'amar chazal?
There was no benefit from the road because if the road didn't exist then you would have been fine anyway because you wouldn't have been driving. In no way did the road save your life. However had the water not existed in Moshe's time then Yocheved wouldn't have been able to hide him, so the water saved him by giving him a hiding place.
Had Yocheved put Moshe in still water, whether or not the reeds were there, he would have eventually sunk or been discovered by one of Paroh's men. Instead, she put Moshe into a running river which took him downstream into Batyah's sight giving him hope (and giving Yocheved plausible deniability so that she could nurse him). Thus, the running of the water saved him as much if not more than the reeds.
I was thinking about this over Shabbos and came up with a possible answer. I checked on the web afterwards and found this post. None of the answers provide an explanation that adequately compares the role of the earth saving Moshe by swallowing up the Egyptian victims to the role of the water saving Moshe. It would seem that the water too provided an active salvation.
Here is my best guess: They likely put Moshe in the water at the end of town that they lived which was far from the palace and normally the current would have taken the basket to the shore long before reaching the palace region and he would have been found by a random Egyptian who would have likely killed him (figuring he was Jewish child). The water kept the basket in the middle of the body of water far from the shore the whole time so that even bas paroah had to miraculously (or figuratively) stretch out very far to take the basket.
As seen in Sotah 12b, Pharaoh's astrologers saw that the Savior of Israel (Moshe) would meet his end through water.* That was why the decree was to throw the boys into the Nile. Once Moshe was placed in the basket which was then subsequently placed in the Nile's water, the astrologers saw that the Savior of Israel had been "thrown" in the water and the decree to kill all of the baby boys ended.
Shemos Rabbah 1:21 continues and says that they no longer looked for him.
So in reality the Nile did indeed save him. Had he been hidden anywhere else the astrologers would not have been tricked into thinking he'd met his end and the decree to kill all the Jewish baby boys would have continued.
*See Bamidbar 20:7-13 to understand why Moshe's "demise" came about through water (albeit in a different way than the Egyptian astrologers were thinking).
I think this answers it (Rabbi Nissim Yagen):
Gratitude is not because someone did something for you. But rather if you benefited, that's the keyword. If you benefited from somebody, you must have gratitude (from the book Netivei Ohr pg.165 by Rabbi Nissim Yagen). Even if the person did not have good intentions. That's why it says by Moshe that he was not allowed to hit the Nile river, to make it into blood. He had to ask Aharon to do it. A river does not care. It does not care whether he lived or died. But since Moshe benefited from the river, so then he has to have gratitude and he can't strike it. Likewise in the talmud it says "the well that you drank from, do not throw rocks in it". Even though the well has no feelings and does not care, nevertheless since you benefited from it, you must show gratitude.