Use a fast Pokemon with Mean Look, Block, or Spider Web. They won't be able to run away after that, provided you don't switch your Pokemon. I used a high-level Umbreon with Mean Look and Baton Pass, so I could trap them and then switch to a more powerful Pokemon to weaken them (Mean Look's effect stays active when you use Baton Pass to switch). Watch out though, all three of them know Roost and aren't afraid to use it. What I eventually did was weaken them and put them to sleep, then ran away myself so that eventually all three of them were running around Sinnoh asleep and with 1 HP left. Then I hunted them down one by one and just threw Ultra/Dusk/Quick balls at them until I caught them all. It took me quite a long time.