Deforming/curving a mesh in two directions
If you need to loft a specific set of curves, Bsurfaces is a very good option: it can be used for modelling as well as retopology.

But for this job, probably:


Duplicate ShiftD the front edge of your box. 
Rotate it up, and use it to form the back profile, and remove doubles at the corners. (Blue, below) .There are many ways of getting the shape here - the Loop Tools Add-on > Space, Proportional Editing, Vertex Smoothing are all handy.
Select all but one or two of the corner vertices, and extrudeEY,EZ the edges a bit. The sections to be bridged must have the same number of vertices for a clean result.
After selecting the new inner edges, CtrlE Edge Menu > 'Bridge Edge Loops'
In the tool's settings, adjust the number of cuts, and the smoothness, to suit.
Cut the result in half, and assign a Mirror modifier to manually fill the holes, make other tweaks, perhaps using the tools already mentioned.


The approach in this answer is sub-division modeling, in which you keep the hand-made topology as simple as possible (not necessarily regular,)  and let Catmull-Clark sub-d do all the work of creating smooth curvatures. With relatively few vertices, you can manually adjust the number to be equal in the horizontal and vertical profiles to be bridged.


Ctrl-select the path between two symmetrical vertices in one profile - you will see the number selected  at the top of your 3D view. Select the corresponding segment in the other profile, and note the difference. 
Add vertices by subdividing edges, or remove by dissolving, to make the numbers equal. Don't worry about where..
..because you now use the invaluable Loop Tools > Space feature to spread the vertices evenly along your chosen segments. If it's a lot of work, you may do this work under a Mirror modifier, to halve it.


You will probably want to match segments with high curvature in separate batches from straighter ones, to maintain sufficient density in those areas.



You could forget the extrusion step, and just bridge the original edges, but I don't think the curve is quite as good.

You can assign your Subdivision Modifier after this, with the rest of your model, so they match.