You can move a set of vertical blocks to being horizontal by replacing them with other blocks (which will still be vertical).
Here's a basic mockup, using sand and a gravity feed for the replacement blocks:
B - a block that you want to move
P - a piston
S - a replacement block of sand or gravel
S
S
S
S
S
S
P S
BSSP
B
B
B
B
B
BP
The process goes like this: first the bottom piston should push a block to the left, and retract. Then the top piston pushes a block down and retracts. Finally, the top right piston pushes a block of sand left and retracts.
The replacement blocks are necessary because the top piston has to be able to push the blocks down, and it can't push air. This mockup uses sand because you can feed in blocks of sand using nothing but gravity, so it makes the process simpler.
If you leave a seven block pit below the set of blocks that you want to make horizontal, you can have the sand drop out of view as soon as the other blocks have been made horizontal, though I'm not sure how much that would do visually, given that you'd still likely have the pistons and sand feed system visible.
To implement this simple example, you'd need a short-pulse clock connected to the three pistons, with appropriate delays to ensure they fire in the correct order, and a switch to control when the process starts.