A sofa always seems like a horizontal object rather than a vertical object to me. Because of that I mostly thought that лежать would be used for диван contrary to стоять for things like шкаф. Can диван лежит be used, or is it strictly стоит?
Anything that has legs (sofas, benches, tables, chairs, dogs, cats) or, for that matter, wheels (cars, trains, planes) that are being used to support an object in a stationary position would be described as "стоит" in Russian, regardless of its shape.
One curios exception to this "rule" that comes to mind is birds. Unless a bird has distinctly long legs (like a stork or a crane or a heron), we would use "cидит" rather than "стоит" to describe its stationary upright position. Perhaps it comes from the fact that "сидит" is what we use to describe a bird on a tree branch, and its position on the ground is hardly dissimilar. But with storks, cranes, herons - or, for that matter, penguins or even ducks - i.e. birds not normally associated with trees, we would use "стоит".
You might, in some few occassions hear "the dresser stands against the wall" or "the statue (as an art piece) stands near the wall"... but never the sofa. Not all sofas have legs. It reminds me of old formal living room furniture ... the style of which, is still popular in some regions, such as the middle east. It is nice however, to hear how the sentence is most commonly constructed in Russian, since that's what we're hopefully learning?