The title pretty much states the question, what do you think is hte best way? Just get HTML from the designers (graphic artists etc.), then go in and start adding the "runat=server", etc.? Are there any other approaches that work well?
Really it depends on the designer. Getting the HTML can work, but in the past I have found some designers use GUI editors to create the layout, which often times makes horrible HTML.
I like a hybrid approach. They give us the HTML with pictures etc of how it is supposed to look, and we review the mark up to make sure that it is all efficient and meets the needs of the application. Rarely have I ever been fortunate enough to be able to just take the HTML as is and start running with it.
I think it depends on your type of business. I work for a small web outfit where we (the programmers) build the site and make it functional, then the designers 'skin' it with a design approved by the client.
However we've also outsourced projects to other coding companies, and in those cases we've provided all the raw html/css over to them to 'make it work'.
I prefer the first method, but that's probably just because I'm used to it. Both ways have their pros & cons.
I have done a lot of design work, while my friend does the coding behind the scenes. We are a two man team, and I can share what works for us.
Depending on the planning phase of your project, the designer may be able to start preparing some ideas, while the coders are working away at the core functionality of the application. The designer typically will start working on color schemes, typography, layout, logos, graphics. The main ideas can be developed right away.
Once the programmers have completed the functionality, the designer can start working on implementing his ideas on top of the application.
So to answer your question, communication should be the key to success. The programmers should work alongside the designers in order to get the project done efficiently.