The naming of Moshe raises a number of questions. Recall that he was discovered in the water by Pharoah's daughter and was nursed by his mother. The Torah then tells us, "When the child grew up, she brought him to Pharoah's daughter, who made him her son. She named him Moshe, explaining, "I drew him (meshisihu) out of the water" (Ex. 2:10). The question begs itself - how was Pharoah's daughter making a clever play on words in Hebrew? The story of Joseph in Egypt implies that even the Egyptian royalty did not speak Hebrew (as is emphasized in the midrashic literature), so we are left somewhat perplexed as to how Pharoah's daughter knew Hebrew. There is a midrash that she converted to Judaism and learned Hebrew, which has little textual evidence and seems somewhat farfetched on a literal, historical plane.
The commentators grappled with this difficulty (cf. Ibn Ezra, Da'as Zekeinim, Abarbanel, Torah Shelemah, Ex. ch. 2 n. 73). One possibility the Ibn Ezra suggests is that Moshe is a Hebrew translation of his Egyptian name. R. Meir Leibush Weiser (Malbim), in his commentary to Ex. 2:10, quotes Philo of Alexandria in the introduction to On the Life of Moses (1:4) and Josephus in Antiquities of the Jews (2:9:6) as explaining that in Egyptian the word mo means water and the word sheh means removing. That would make the word Moshe etymologically ancient Egyptian, and the similarity to Hebrew only coincidental.
R. Naftali Tzvi Yehudah Berlin (Netziv) quotes a R. Shmuel of Bohemia who seemed to be very current in his ancient languages. He correctly states that the word Moshe is related to the ancient Egyptian word for "son." Thus, being the son of the princess, he would be called "the son." Why would he, the son of a Jewish slave, be called "the son"? Because Pharoah's daughter "made him her son" since she "drew him out of the water," with the latter explaining how Moshe became her son, not the etymology of his name. It is noteworthy that the New JPS translation of the Torah has a footnote explaining: "Heb. Mosheh from Egyptian for 'born of'; here associated with mashah 'draw out.' "
Contemporary historians agree that Moshe is an Egyptian word meaning "the son of," the only question being whether the word's root is the Egyptian msi or mose. James K. Hoffmeier writes in his Israel in Egypt, pp. 140-142:
There is widespread agreement that at the root of the name of the great Hebrew leader is the Egyptian word msi ["to give birth"], which was a very common element in theophoric names thorughout the New Kingdom... While the acceptance of the word msi as the root for Moses' name is overwhelming among scholars of the Pentateuch, problems remain... [T]he active form also corresponds to the Egyptian word mose, meaning "son" or "child," another pun on the same name.