el contenedor principal en vez de tenerlo con margin: 0 auto; colocale un float:left; y el margin cambialo a gusto para que no quede pegado con el contenedor lado 1, para que quede en buena posicion entre contenedores lo mejor sería tener el código así:
Código:
#contenedor{
text-align:left;
width:900px;
margin-left:auto;
margin-right:auto;
position:relative;
margin-top:195px;
background-image:url(http://dl.dropbox.com/u/20611864/web/imagenes/background.jpg) ;
height:auto;
}
#contenedor #lado1{
float:left;
width:200px;
font-size:12px;
}
#contenedor #principal{
width:460px;
margin: 0 20px 0 20px;
float:left;
font-size:12px;
}
#contenedor #derecha{
width:200px;
float:right;
}
revisa si te resulta con esas pequeñas modificaciones