Other than "add noise" no not really.
Each biome type has it's own noise generators in the game, and they are multiplied by the biome weight function to make them line up.
Imagine generating some hills, then take every point above y = 70 to be a desert and every point below y = 70 to be forest. You actually ignore the height completely in terms of setting blocks but use it to decide what the biome is. If you then generate hills in one biome and less hills in the other but multiply the resulting height by the biome noise it will kind of smooth off. But there is still the problem of the hills maybe not lining up so you would get a peak next to a trough, to get around that you use the same seed for the generators Random() object which means they will generate in the same place as the other hill type would.
That
should give you smooth terrain with varying land type, to make it look more natural you add, subtract, divide and multiply by some more random noise functions to make it look less generated and more, well natural.
Actually the source of
http://dev.bukkit.org/server-mods/terrain-control/ should be a good place to look !