I think if a game is designed from the start to have a crafting component to spells then it can work fine. Rather than have rare/random reagent requirement, though, I'd rather they become purchasable once you reach a certain point in the game (quest or location), even though that reduces them to a gold sink. Enchantments in Divinity 2 were fine; you had to be selective about what you upgraded before getting the battle tower, but then after that it didn't take a huge amount of farming to be able to upgrade whatever you had the formula to use (other than many level 10 enchantments, and all healing aura enchantments, requiring a moderately rare malachite gem). Of course you mostly only change enchantments when upgrading equipment, so that is much less frequent than spell use could be.
I liked the spell system in Evil Islands. The complexity of spells you could use was determined by how many experience points you put into magic, and you could break down a spell and change/add different 'runes' (don't recall if they were actually called runes) to increase the range, duration or effect, or decrease the cost. You needed to explore or complete quests to get certain spells and ruins, and it cost gold to break a spell down and modify it, but there was no luck involved and you never have to farm for anything. On the second island, you are joined by a mage, who's main attack is a lightning spell. I played as long as I could without upgrading anyone, until I couldn't progress on tactics alone, and then went and upgraded everyone's equipment and spells (there is a similar upgrade mechanic for equipment, and spells can be added to be triggered continuously, or when hit). In the case of the lightning spell, I was able to double the effect and cut the mana requirement (and so recharge time) in half, so that quadrupled the damage output.
For a good reagent system, IMNSHO, I think there would need to be an alchemy component to magic. Your ability to mix reagents properly would depend on your skill level (there could be a random chance involved to make a high level mixture or fail with a low level one) and possibly finding recipes, so if you are not a high enough level, you either can not use the spell or the effect is weaker. Any really rare reagents (or mixtures where the recipe has been 'lost') should be quest or location related, rather than random. Ideally you would get access to ready made mixtures for lower level spells as the game progressed, or there would be automatic crafting of reagents for low level spells. Essentially, it would need to be something that was more than effectively having a dozen different kinds of mana, and limited options to recover some of them.
The only farming you should be required to do if you use a high level spell more often than the game designed thought you should be able to use it, is if there is an actual farm in the game where you can hire someone to grow/gather plants or explore for minerals. Seeds can be quest related, and there can be game content related to developing and protecting the farm (recruiting workers, etc). Deciding how many of which herbs to plant and how much gold you want to spend to expand a farm would be strategic; visiting merchants a bunch of times to see if they have what you need, or running around looking for random loot, is not. IMNSHO.