My mechanic suggested wiping the chain down with degreaser on a rag after oiling. This sounds logical to me, since the area that needs lubricant isn't the outside of the chain, it's the inside where the metal touches the metal. You get a lot less dirt attracted to the outer surfaces this way, and the chain stays cleaner way longer.