I've had many pin cushions in my time. Most leaked sand or sawdust, or else the cotton batting inside them became compressed and shifted. The result - I'd get pin pricks when I picked the thing up. I got pretty fed up.
My solution was a byproduct of major surgery. When I left the hospital after cancer surgery, I was given two big chunks of pillow foam that had been used to support my legs comfortably while I was on the operating table. Thick foam - measly pin cushion that shed pins and stuck me - h'm. Am I seeing a solution here? I grabbed some large cloth scraps and sewed the pillow foam into a marvelous pin cushion. The pins stay inside the foam and out of my skin.
When I began to sell sewing craft items, I remembered my wonderful pin cushion and set out to produce small ones. These are approximately 3" x 3" (anything made by hand is approximate), and I cover them with the most attractive felt and fabric scraps I can find. They weigh less than an ounce, and you have 5 surfaces to stick in pins.
These are fun to make, and anyone who sews can do it. I've created a few for those who want a useful, pretty gift for a crafty member of the family.