Whether you use negative margins or absolute positioning the potential is that you will create an overlap somewhere along the line unless what comes next isn't controlled explicitly.
In your example you could just remove the red box from the flow and then it will line up as you wanted.
A negative bottom margin equal to its height will do:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<div id="box1" style="float: left; margin-right: 10px; height: 200px; width: 200px; background-color: blue;"> 1</div>
<div id="box3" style="float: left;[B]margin-bottom:-350px; [/B]height: 350px; width: 200px; background-color: red;"> 3</div>
<div id="box2" style="float: left; margin-right: 10px; clear: left; height: 200px; width: 200px; background-color: blue;">2 </div>
It all depends on the real dynamics of the site and why you are tying yourself to the structure you have given above. You could just absolutely place each element but of course you lose the flow of the document and you don't get an automatic effect.