How to rearrange the order of blocks of a single matrix field using a frontend form?
Your sort order will change according to your HTML, so when you change your html, the sort order will change. You can use certain Javascript libraries to move your containers in your DOM, when you save the entry, your related entries will change.

As for every relation field in Craft, you only have to insert an array of ids to relate the elements.

&lt;input type="hidden" name="fields[galleryBlock][{{ block.id }}][landscape]" value="{{ image.id }}"&gt;


Is wrong because you insert the id of an image, not an array

&lt;input type="hidden" name="fields[galleryBlock][{{ block.id }}][landscape][]" value="{{ image.id }}"&gt;


is the correct way