I prefer not to play with self-imposed rules. This means I don't do Nuzlocke or monotype runs etc. While it puts your abilities to a test, at the same time it restricts the Pokemon - and thus tricks and tactics - available to you, as well as punishes you for trying new strategies. In fact, because of the "fainted Pokemon are to be released" rule, you can't afford to try something that may or may not work.
I'd say it's bad game design if the game forces the player to:
- breed for IVs and/or egg moves
- EV train your team
- use certain Pokemon to defeat a boss/leader
Some of the things listed happen to an extent: you gain EVs by defeating opposing Pokemon and you most likely can't beat PULSEs with a team of Cascoons. My point is that they shouldn't be required.
I think strategy and synergy for the opponent (and their team) is far more important than just to raise their levels to ridiculous heights. Levels are important, of course, but levels shouldn't be the only factor that contribute to the difficulty of the game.