So let's review: You start with some oscillators that you set to different waveforms to set a basic general timbre. You tune these oscillators against one another to taste, to make for more complex sounds. These oscillators are fed into a filter to set the basic bright/dark tonal balance and are usually modulated by an envelope and additional modulators to sculpt the tonal changes. From here, we assign different modulators to create more dynamic sounds that change under certain conditions.
This info gives you the fundamentals you need to understand how synthetic sounds are made. But there are some tips you can use to make your ventures into sound creation still easier:
1. ) Try to envision (en-listen?) the sound in your head before you program it - Does it have a high pitch or a low pitch? Is it a thin or fat sound? Is it bright or dark? Does it have a fast attack or does it fade in? Does the sound stop immediately after you let go of the keys or does it fade out? How does the sound change throughout the course of the note? If you analyze and break down sounds this way and think of how those characteristics relate to the basics we've gone over here, you'll find creating them is a lot easier.
2.) Start with a preset that is closest to what you envision - Yes, obviously you want to make your own sounds as original as possible but there is no use doing more programming than you have to. So look for a preset that is at least somewhat similar to the sound you're after as your starting point. If there is nothing very close, at least choose a patch that is of the same type as what you're after - a pad, an organ, a bass, etc. This will at least save you from having to do too much re-programming of the envelopes, etc.
3.) Take apart presets you like to see what makes them tick - One of the best ways to improve your synth programming chops is to look under the hood of preset sounds you like. Look at all the settings that make up a sound. If you can't figure out what parameters are contributing what qualities to the sound, try tweaking different parameters until you figure it out. Looking at the work of experienced programmers is a great way to learn new tricks.
4.) Don't be afraid to get lost - Many synths are a lot more complicated than the basics I laid out here. Don't hesitate to experiment and try crazy things, even if you are completely ignorant of what they do. You'll figure it out. This is actually the way I learned to program. I just called up a preset and changed various parameters to figure out what they did. Remember that you can't hurt anything by messing around with a sound unless you overwrite it. So go crazy. If there is a parameter you're not familiar with, try setting it to extreme values so the effect it has will be more obvious.
5.) Expand your definition of synth programming - Synths are getting more complicated all the time, but if you find your sounds pale in comparison to what you're hearing on your favorite albums, remember that most sounds you hear on commercial albums are heavily layered. So don't think of a synth sound as being the end all, be all. Think of how you can combine completed sounds from different synths into still more complex sounds.
6.) The sound is just the start - It's a good idea to master the basics before you get too deeply into sound design, but once you do, remember that any sound needn't be considered "finished" at the source. Learn to use effects like they are merely extra synthesis tools. Use reverbs to create space or resonances, delays to create rhythmic interest, distortion and filters to alter the harmonic content, use chorus to fatten up thin sounds, use flangers or phasers to create further movement. Just mess around. Create insane, long chains of plug-ins or effects to your synth sounds and see how much deeper than you can make them.
7.) Start simple - Learning to program your own sounds is fun, and as concepts start to click with you, you'll find yourself eager to learn more. When you're starting out, however, stick with a synth with simple, minimal features. With less extraneous features to distract you, you can focus on learning the important basics with minimal confusion. For free synths, I highly recommend Togu Audio Line's excellent Bassline (based on the Roland SH-101 monosynth) or U-no-62 (based on the Juno-60) as great, simple, starter synths. In the commercial realm, check out Korg's Polysix emulation in the Analog Legacy bundle.
8.) Don't get discouraged - Like anything new, you're going to suck at sound programming at first. Don't get discouraged if you're not able to instantly start programming the sounds you imagine in your head. Keep at it and experiment, experiment, experiment. You'll be amazed at how quickly you'll start to pick things up.