Поменяй их в html, если так принципиально!
<div class="container">
<div class="block block1"></div>
<div class="block block3"></div>
<div class="block block2"></div>
</div>
У вас идет block2 (red) перед block3 (blue) потому он и "флоатнее right"!
Почему? - Кто первее - тот и в приоритете!
*пардон за объяснение )