I maintain my hair while straight using overnight treatments instead of moisturizers. My hair is really finicky about oil, so I don't ever put oil in my hair unless I'm doing some sort of pre-shampoo treatment.
I find overnight products are formulated just right for conditioning the hair without leaving a heavy residue. There are two I use, listed below. The Alterna one is meant to be washed out in the morning, but if you use just a little it is great to leave in. I especially like this on my ends (I also use it as directed the night before I wash my hair). You will really notice an improvement in the quality of your hair after using this regularly.
The L'Oreal one is meant to be left in. It's not quite as "rich" as the Alterna so it's good for just basic moisturizing.
How often I apply just depends on how my hair feels. I usually apply something before bed on the day I wash my hair, and sometimes the day after. I won't apply more unless I feel like my hair needs it, usually on the ends. If I go into a second week of straight hair (like now, for example) I do not put anything in my hair since it's already oily.
Alterna Caviar Anti-Aging Overnight Hair Rescue
L'Oreal EverStrong Overnight Repair Treatment