Seriously, this is the time to haul out dfhack and just MAKE the elevations do what you want.
You can get steep, but not vertical, cliffs with large elevation differences in adjacent embark tiles.
The upper left x,y is 0,0. Type "lua" in dfhack to get started.
Elevation 100 is just above sea level. You can
print(df.global.world.world_data.region_details[0].elevation[x][y])
to figure out what the local elevation starts as. You can assign value to those elevations to make the contours come out however you like.
The elevation of the edges of your embark are affected by the tiles surrounding your selected embark. Be sure to set those too.
The sheer, straight-down cliff only happens with rivers. (And maybe lakes?) Rivers are a bit more problematic.
River altitudes are in
df.global.world.world_data.region_details[0].rivers_horizontal.local_id[x][y]
df.global.world.world_data.region_details[0].rivers_vertical.local_id[x][y]
If the river altitude is below the surrounding terrain, you get a cliff that is the distance between the river and the terrain elevation. If the river is higher, you get water falling from the sky on embark or other weird problems. Don't do it.
There are a couple more variables for river width and direction. I think they're also in region_details, but I'd have to double check.
Anyway, if anyone cares, I'll go dig up all the details of how to script your way to better embark elevations. You can waste a week of your life genning and searching worlds for embarks. Dfhack is by far more reasonable, and hasn't produced any terrible results for me over several games.