Originally Posted by Fat Minwu
How often do you "roll"? Every battle? Every turn?
After every battle, as long as the pokemon that knows pickup is not holding an item, there is a 10% chance of that pokemon picking up an item. If the pokemon has picked up an item there is a 1% chance that that item will be the TM. I usually have 5 high level pickup pokemon while I'm training one pokemon for maximum item gain.
More details for pickup on the bulbapedia page