Yorkies' skin produces a lot more oil than most other breeds of dog, hence why you think your dog's coat is so oily. Even as soon as one day after having a bath, your yorkie can look "dirty" again. That's b/c of those oils. So have no fear! There's really nothing you can do about it. It's just the way God made them.
Only reason show yorkies never look like that is b/c they are bathed daily, especially right before shows.