There are FOUR ways to acquire a Sun Stone in HG.
- Winning first place in Bug Catching contest.
- Pokeathlon Dome. Cost: 3000 points on Sunday, Monday, and Friday
- Receiving a phone call from a person on Route 13
- The pokewalker: Volcano Path (5500+ Steps) and Amity Meadow (2050+ Steps)
Serebii
For me the easiest is racking up 3000 points in the Pokeathlon and and buying it. You have to wait for one of the specified days, but that is a lot simpler (and ultimately faster) than the other choices. So, start collecting pokeathlon points and be ready to purchase a Sun Stone on either Monday, Friday, or Sunday!
P.S. If you feel like you could win first place easy-peesy, you could try out the Bug Catching contest on Tuesday, Thursday, or Saturday