私があなたの質問を理解している限り、あなたはコードをより速くコンパイルする方法やVSをオープンにする方法ではなく、ソリューションを整理する方法について言及しています。コードの方が速いですよね?
もしそうなら、ソリューション内のクラスを複数のプロジェクトに分割し、それらの目的が明確になるような名前を付けてください。あなたが与えた「BE/BLL/DAL/Controls」の例で、そのようなアプローチをすでに開始しています。
プロジェクトを指定することで、ソリューション アーキテクチャの柔軟性が大幅に向上します。ソリューションが時間の経過とともにどれだけ成長する可能性があるか、また将来どれくらい存続するかを考えてください。それをエンド ユーザーに展開する方法と、さらに重要なこととして、更新プログラムを展開する方法について考えてください。これらすべての考慮事項は、どこまで詳細に進むかの決定に影響を与えるはずです。
コードを分析し、単一責任パターンのような実証済みの設計パターンを適用する可能性があるかどうかを確認します。
開発中に数回実行され、二度と実行されない短期間の短命のツールですか? それなら、それほど努力する価値はありません。数年間維持する必要があるツールまたはアプリケーションですか? 次に、SRP パターンが慎重に実装されていることを訴えます。
Microsoft Press の次の本をお勧めします: Building Enterprise Applications with Windows Presentation Foundation and the Model View ViewModel Pattern
これにより、適切なプロジェクト構造を構築するための提案、推奨事項、および基本が得られます。
ソリューションがどのように構造化されるかについての別の提案は、この SO スレッドにあります: Mvvm Applications And location of Business layer