The Legendary Musketeers, Cobalion, Terrakion, and Virizion, can be caught similarly to the way the Legendary lake guardians Uxie, Mesprit, and Azelf are caught. You need to set aside 36 hours to catch each Pokémon, an Eon Flute, HP restoring items and Poké Balls.
Start off by making sure that one of your Pokémon has max Effort Values (EVs). This might be hard to come by, but if you use a Pokémon that you had throughout the entire game it will be easier. Effort Values determine what stats you Pokémon get when it levels up after battling a Pokémon that gives you experience. The numbers you're looking for in Effort Values are as follows:
- Each Pokémon can have a maximum of 510 EVs
- Each stat can have a maximum of 255 EVs
Once you have located or worked up a Pokémon with max EVs use your Eon Flute and taking to the skies near Pacifidlog Town (a similar location for catching a majority of the other Legendary Pokémon). You will see a shining spot called 'Pathless Plain,' land there and head to the ring on the island. Interact with the ring and you will be asked whether or not you want to enter, say yes.
Upon entering you will battle Cobalion, Terrakion, and Virizion each at level 50:
- Cobalion: Steel | Fighting
- Terrakion: Rock | Fighting
- Virizion: Grass | Fighting
After catching one of the Pokémon, you will need to return to this spot after 12 hours have passed in order to catch the following Legendary Musketeers.
Good luck!
Here's where you can find more guides for catching legendary Pokémon and finding Mega Stones.