I found the easiest way to do it is to do both at the same time. I grind on quest mobs. Once I complete the quest, I keep going until I need to fix my weapon or armor. Then I just pick up my SP and EXP (and other items) while I'm in town. Then back to the grind. And maybe I'll grind on some other mobs too, if it's a decent quest. That way I'm always grinding and always questing. I'll do about 5 or 6 quests at once so that I can get a lot of SP and EXP all at once. I can usually complete 2 quests or so without having to go back to town. And it's a ncie little bonus for going back.
I also don't do quests I don't want to. For example, if I'm wearing full armor at the time and have no garment, I'm not going to grind on magical attacking mobs. That's just dumb. No point in spending thousands in gold just to gain a little SP and a little EXP. Why not kill them later when I can 1-hit them? Or just ignore it all together

.