I usually grind to an extent. For the first few gym leaders, I usually like to keep my pokemon at a level above their highest pokemon. That usually gets harder later in the games, and by that point I just want to get to the Elite Four and try to get through the later gyms as quickly as possible. But as a general rule of thumbs I like to keep my pokemon at a level higher than the highest trainer in an area. I wouldn't EV train any pokemon unless it was much later in the game or even after I've beaten it.