Mt. Moon Square, watch the Clefairy dance each Monday at 20:00, and again each Tuesday at 04:00. It will be under a rock that you have to Rock Smash.
Ruins of Alph, southeastern chamber (you don't need to go to Union Cave), go face the writing on the back wall and have a Pokémon use Flash. A room will open up, and you can find a Moon Stone in there.
Mom might buy it for you occasionally.