Instead of small chances to get ONE legend, it would be better to spawm them like this. 
- 3 dogs (you catch only one of course); 
- 3 lake guardians (same as before, not gonna copy paste every time lol); 
- mew, celebi, jirachi (^); 
- Latios, latias (^); 
- Heatran, Phione, whatever in future.   
It would be already better and less frustating. 
The idea is good, but it has strongly random and lucky factor.   
Also, I kinda dislike the fact that people can catch more than 1 legendary. Having a box full of Mew is meh. Add that you can't catch a legendary you have in box. You release and then it may spawn. 
And some poke that can spawn feel like you wasted 100 coins. Zoroark, goodra..