Sorry for the long title and caps. Just wanted to emphasise the with mouse part. I know using a keyboard to snap and then using the mouse or keyboard to restore doesn't mess up the size or position. I'm talking about dragging a window with the mouse to an edge and then restoring it with the mouse or keyboard.
as per my understanding to your question..
when you press
Super+↑ the current window will maximize..
Super+← the window will snap to left half of the screen..
Super+→ the window will snap to right half of the screen..
Super+↓ the window come back to its initial position..
when you did any or all of first three things in above and wanted to come back to 4th position with mouse..
there are two options to reach 4th position in above..
1. Right Click on titile bar and Choose Unmaximize..
2. Double Click and again Double Click