To alleviate some of the snapshot reads occurring on the source database, you can use mirroring to extend the architecture out.
ProdDB ----> MirrorDB ----> Snapshot.
By taking snapshots of the mirror database, you can help alleviate the load caused by DSS types of operations. I've done some proof of concept work with this setup and as long as the mirror db is on fairly fast spindles, it's difficult (but not impossible) to cause the production database a performance impact by large read operations on the snapshot (which in turn are reading from the source db).
This is one way I've found to make snapshots useful in production operations and not cause a performance impact when the snapshot read has to go back to the source database for the data - as most DSS operations against an OLTP system are likely to do.