Preheat oven to 350°.
Heat oil in a nonstick skillet over medium heat. Add garlic; sauté 30 seconds. Add basil, 1/4 teaspoon pepper, 1/4 teaspoon salt, and tomatoes; cook over low heat 20 minutes, stirring occasionally. Set aside.
Place a large saucepan coated with cooking spray over medium-high heat until hot. Add mushrooms, and cook 5 minutes. Remove from saucepan, and set aside. Add flour to saucepan. Gradually add milk, stirring with a whisk until blended. Place flour mixture over medium heat, and cook until thick (about 3 minutes), stirring constantly. Stir in Swiss cheese, wine, 1/2 teaspoon pepper, and 1/4 teaspoon salt. Cook until cheese melts (about 1 minute), stirring constantly. Remove from heat, and stir in mushrooms.
Combine linguine and mushroom sauce in a large bowl. Spoon linguine mixture into a 13 x 9-inch baking dish coated with cooking spray. Spread tomato sauce evenly over the linguine mixture, and sprinkle with Parmesan cheese. Cover and bake at 350° for 20 minutes. Uncover and bake an additional 5 minutes. Garnish with oregano sprigs, if desired.