let me just put a few words on terrain and cloud rendering, and what I would do if it were up to me...
first off - i'd create a NICE and solid relief mapping shader, this is simple enough to be done in SM3
but then, i'd use it in a way that eliminates the need for geometry shaders to a good extent
say, you wanna render a city with 3d buildings? - you don't need to create meshes for al of them - from above, all you can see is an amount blocks which move in different angular velocity than the ground, wrt your PoV
so this can be implemented by clever maniplation of UV textures, i.e. a cone-stepping lookup plus a special case for rendering textures on the sides of buildings and stuff :hmm:
for rendering forests, or any stretch of dense wood, using meshes is almost a no-go... FSX tries and fails miserably on that - forests aren't thick enough even at max setting, and way before then you already have major lag
since you're not gonna fly UNDER the trees, you might as well achieve a better effect by parallax mapping the top of the canopies -- again, no addditional meshes are needed
clouds - ooh, that is a big one...
using particles is a good old trick, but rather limited.... plus, you need a LOT of them to make it work - and it still looks kinda "papery" when you fly through them
now, i'd suggest a similar approach to the ideas mentioned above, rendering the clouds as a heightfield in the pixel shader - but then, you also position "puffs" around the clouds "surface" at certain locations - much in the same way modern games render fields of grass over terrain.... it should make for a very convincing effect - specially on overcast conditions
lastly, by using two cloud layers on different altitudes, you can render clouds realistically from above, below and from INSIDE as well - without needing to flood the screen full of particles to achieve a similar effect
just brain-farting....