Ice Punch is an egg move for Weavile in BDSP. That means you have to breed a female Weavile/Sneasel with another Pokemon in it's egg group that can learn Ice Punch. Those Pokemon are:
- Delibird
- Buneary/Lopunny
- Smeargle (Learned through Sketch)
Source
Smeargle (Male) is probably the easiest, as both Delibird and Lopunny also only learn Ice Punch as an egg move. That means you have to obtain a Pokemon that can learn Ice Punch through level-up, go into a Double Battle, and Sketch Ice Punch from your other Pokemon. These Pokemon can learn Ice Punch through level-up:
- Hitmonchan (Level 24)
- Jynx/Smoochum (Level 28)
- Medicham (Level 1)
- Dusclops/Dusknoir (Level 1)
- Abomasnow (Level 1)
Source
You can choose whoever you'd like, but I recommend Medicham for it's ease of access. Once you obtain the correct Pokemon and successfully Sketch Ice Punch onto your male Smeargle, you can then breed it with your female Weavile to get a Sneasel egg that will have Ice Punch. Then you have to evolve Sneasel back into Weavile with Razor Claw.
Tl;Dr, as you can see, this is extremely tedious, the time it will take you to do this will be longer than the time it will take you to beat Cynthia even if you fail a couple times. It simply isn't worth it to breed for egg moves in an in-game playthrough.