I cant keep either of my sets clean for more then one or two practice secession's, I take them two a few different pool halls that are good places with good equipment.
Are you doing something to yours to keep them from picking up chalk, dirt, etc.
Only clean new ball sets with water and cloth.
The outer surface stays impermeable for a couple years in a pool room environment, if they are cleaned this way.
Once in awhile a black scuff mark appears, use Windex or something non abrasive. Or a good spit shine/rub.
Once the outer surface is worn thru, the ball becomes porous and will pick up dirt ALLOT easier, thus changing all shots with a spinning cue ball.