Actually, the butter, flour and milk make the bechamel, one of the five mother sauces. The addition of cheese makes the bechamel into a mornay sauce.
I agree with Andy, and Luvs. I am not a chef (except in my own kitchen as the word chef litteraly means chief of the kitchen), and have had no formal training in the culinary arts. But I do have scientific and artistic training, and 30+ years of reading everything I could about cooking. I have found many cookbooks that gave misinformation, as well as supposed pros who did the same.
A Bechemel, as Andy pointed out, is one of the five mother sauces. From those sauces come the derivitive, or small sauces. Mornay sauce is a bechamel that has been flavored with Gruyere cheese. Some people use Bechemel as a mother for Alfredo Sauce, which uses Parmesano REgiano cheese for its cheese componant. But in any case, the derivative cheese sauces from Bechemel are made the same way.
The op had the ingredients correct, but without knowledge of proper technique. As to how long hte Bechemel cooks, that depends on the desired flavor profile. To make a succesfull cheese sauce, you need not cook the mother sauce for twenty minutes before adding the cheese. And there are in fact two methods for elliminating the raw flour flavor from the sauce. It can be done by cooking the sauce over low heat for an extended period of time, or by cooking the roux over low heat until it begins to, and I mean just begins to brown slightly. Then, though you can add the milk or cream all at once, I find it more successful to slowly whisk the liquid into the roux over medium heat until I reach the desired sauce thickness, understanding that the sauce will thicken more when the cheese is added.
Use freshly grated cheese, not the pre-grated stuff from the grocers. The pre-grated cheese is tossed with starch to keep the shreds from sticking together.
When the mother sauce is complete, if it is a true Bechemel, it should be lightly seasoned with nutmeg. Remove the sauce from the heat and slowly whisk in the grated cheese, a little at a time, taking care to completely incorporate it before adding more. This will result in a very creamy, and smooth sauce. Many cheese sauces also benifit from the addition of a bit of prepared mustard, but this is up to the person making the sauce and what it's to be used for.
The suace will break at some where around 170 degrees F., when the protiens begin to react to the heat, the same temperature at which custards break for the same reason, protiens in the egg begin to coagulate, or harden. Protiens in cheese and in the milk or cream do the same thing. That is typically what ruins the texture of a good sauce.
If there is nothing else you take from my post, understand this; protiens begins to bind together at 170'. This causes sauces and custards to break, causes milk to curdle, and toughens and dries out cooked meat products. You can bring milk up to a temp of 167' for twenty minutes and you will have pasteurized raw milk without changing its flavor. Take it above that temp and you will "scald" the milk, which does change its flavor and properties. You can pasteurize raw eggs by placing them into 150 degree water for twenty minutes. They are sterile but still raw and runny. Take them to 170 and they beging to cook, or solidify. The point I'm making is that the highest temperature achieved during the cooking and cheese blending process will determine the quality of your sauce.
I really hope this helps shed some light on why others are telling you what they are telling you. The more you understand the physical propeties of heat and how it affects the foods you work with, the more creative and successful you will be at making what you want to make.
Seeeeeya; Goodweed of the North