First thing we need is the machine that can do this, which is my primary objective in posting this. The rest is irrelevant without that...
Sorting: This doesn't have to be exactly perfect but what we're trying to avoid is putting too many cards from the same set into packs so there's consistent variety. Since the cards are typically purchased and grouped by set, the labor of shuffling them by hand is way too cost prohibitive and slow. My thought is to have multiple bins of cards, each separated by set, with cards from each bin making the packs. The value of the majority of the cards isn't relevant but I envision one of the bins to be strictly higher value cards that would be inserted 1 per X packs.
Card Identification: We definitely won't have images of all cards going in. Assuming cards are again sorted by set, the team logo will typically be in the same place but in the rare instance it isn't, it will definitely be somewhere on the card. I can see how this could be easily programmed for cards with logos in the same location but there will be plenty of instances where cards may not be sorted by set and are a mix of many sets/years. That said, team logos don't change often so if there's a way to quickly scan the card and send it to the appropriate team bin, that would be great!
At the end of the day, there's the perfect/ideal solution and there's good enough (for now)...so if a requirement to make this work has to be that all cards are sorted by set, so be it.