There are no real rules for something like this it will be up to what you feel works for your game.
Options I have seen and/or used are:
- Minor loot tables for individuals, like the giant's bags in Against the Giants, this is similar to what you already sort of do. They all have a chance to have certain things randomly.
- Simply rolling that the individual has x number of coin.
Bottom line is that if there is not a time crunch (and they spend enough time at it) then they find it .
However, if there is a time crunch (which seems to be more the question) I typically see what is available and make a decision on the fly.
Example: If the party is looting and they were smart enough to post a lookout and they see critters coming and want to avoid them I consider them distracted at that point, giving them disadvantage on rolls. If they should find something I usually just let them grab it and go, within reason. If the item happens to be loose coins they can grab a handful or two (I roll percentage of how much they can grab).
If they do not have time to look every where, it is simple they have to make choices and if they choose not to look somewhere that has something in it they simply don't find it. It is really ok if they don't get every single piece of treasure in a dungeon, in fact it is more realistic (I know that word is shunned around here) but it goes to the belief of the story.
For individual treasure I do something similar and put out a little list of what coin denominations the critter could possibly be carrying. Then if they search they just find it. Unless there is something specific like false boot heel or something which I usually require them to declare. I will hint at it though if they have high enough passive perception. Again mostly no rolling.
For hoards and over all adventures:
I decide where things are and the party decides where they will look.
This system I use is mostly out of the book. Each set of monsters has individual treasure and the biggers ones might have hoards. I roll on the tables as normal in the DMG.
What I have noticed though is that all the modules I have read, run and played through have little caches in places. So (and this might have been suggested by the AngryGM or similar post) I take the overall level of the module or adventure I write and roll hoard treasure for the whole thing. Then I place them in weird spots (some might be in plain sight others not so much).
Characters only find what they look for and only if it is in where they look.
Example: I am running a variant on a classic module and there is a broken chest in one of the rooms. The chest is closed and has some papers and clothing inside. Our rogue searches inside the chest. I make some rolls and tell him that he finds nothing. He then moves on. What he doesn't know is that if he had moved the check he would have immediately seen a little cubby door and inside were 5 gems and a magic ring.
I typically don't allow a single roll for an entire room, I go with five foot areas each taking a variable amount of time based on difficulty of the search and their roll. If the rogue in my example would have just moved the chest there would have been no roll necessary and they would have found some nice stuff for a first level party.
I always use Perception(Wis) for this as Investigation(Int) has a different meaning. I think the two get muddied quite a bit escpecially for rogues.
I don't rely on rolls in so much as what they find but rather whether they find it. It is really ok if they don't find something that is there. It was really hard for me to not suggest to the rogue to move stuff around, especially since we had a long conversation about skill rolls based on an article by the AngryGM.