I had luck with the Boxer self-adhesive patches. You can also get the Boxer patches that include the vinyl and the brush-on epoxy. I had less luck with that one but I also think I was using too big of a piece and it was hard to keep the epoxy evenly distributed underwater on such a large piece, so water kept getting under it. A smaller piece might work better.
You can also try WaterWeld. My leak was on the seam so I was having trouble keeping water from getting under the patch via the seam, so I used WaterWeld to patch along the edge of the patch and the seam, and it seems to be working thus far (one day).
All of the above work underwater without needing to drain the pool. In fact, for the patches, I've seen a lot of recommendations to prefer doing it underwater rather than not because the pressure of the water helps keep the patch flat while it cures.