How can I modeling these case more efficiently? I tried modeling as shown above.
I separated the edge and moved the 3d cursor and origin. I also used multiple snaps and joined the edges back into their original objects to create faces.
I got the results I wanted, but I felt my process was a bit complicated.
The GIF below is a summary of my process.





The extrude region vertex normals (Alt + E) function is close to the operation I want, but it does not produce a flat surface if it carves out the interior.
Probably there seems to be a modeling technique I'm missing. If you have ideas for a faster process, please let me know.

And i attach the blend file for the convenience of the respondent who will show the example.
Thanks for your attention.
Your way seems pretty sensible to me, but just in case this way introduces a couple of useful add-ons...




Delete the bottom front Ngon, and I inset the remaining front and top faces as a region, with 'Boundary' unchecked, to prevent a margin being formed at the mirror axis, or against the empty face.





Delete the inset faces





Having switched on 'Lengths' in the Property region > Mesh Display panel, take a note of the width the offset will have to be from the marked selected edges
Use the shipped Mesh:'Offset Edges' add-on > 'Extrude' to extrude the front edges back by that width, numerically entered.  
There may be some overlapping vertices on the new inner edges of the cluster of loops on the short rear-facing slope. Select the problematic range of vertices and use the shipped add-on 'Loop Tools' > 'Space' to make them regular. ( I went back to make those loops regular all the way round )





E Y the offset edges to the mirror axis, letting the 'Clip' of the mirror modifier do its work
F Fill the Ngon we removed in the first place
Ctrl V >  R remove doubles.


This may well be one of those places where a Boolean is a snappier way of doing it, as Mr Zak has commented .. I'm unreasonably resistant to using Booleans.