I always get a good chunk of my gem collecting done for sims through the consignment shop. Just take your cash to the normal consignment shop and queue up a bunch of interactions. Each time buy everything, or as much of the list as you can afford. That forces the shop to rebuild a new, full list next time.
Skill books, guitars, stuffed animals and rubber ducks, you can sell out of your inventory for immediate profit. Most other things you can just consign right back to the shop for profit at 5 p.m. A few things like music boxes, cameras, gnomes, and incense holders usually suffer a loss when you sell out of the inventory and you can't consign them. Overall, my sims can make money this way, plus I keep the gems and metals that pop up along the way each buy cycle.
Usually a new sim can have both the gem and metal collector rewards met from my first or second day of trading like this. That nets me the heart-shaped cut if I want to maximize the cash from the cut gems. Also gives me more ingots from sending them off to be smelted.
What gems and metals pop up in the seller's list is pretty random each time through. But the law of averages usually plays out over time and you can get a LOT of the rarer gems and metals pretty easily this way.
Then the science skill like the OP said is a great way to analyze/clone until you get all you want or need.