The problem isn't really anything of your doing, the vast majority of keyboards, even many high end ones, use ABS plastic for the keys which has the nasty property of absorbing oil and once that's happened there really isn't anything you can do about it that I have seen. Also jus a warning but solvents can melt ABS so I wouldn't try anything to crazy to clean it.
A keyboard with PBT keys will be much more resilient to oil but odds are you will pay a lot for it since only high end keyboard makers will bother to spend extra for it.
I am very annoyed by greasy keyboards also so I keep mine somewhat obsessively clean, mine also has rubberized keys that seem to clean well so far.
If I end up picking up a mechanical keyboard for work I am halfway tempted to try applying an oleophobic coating to the keys to see if that keeps them from getting greasy.