The issue was raised in this question. Why not exploit the advantages that template files offer in the case of forms?
I can see no good reason for not using a template file to theme a form. As I stated in that question, the simple #prefix and #suffix tricks might not be enough, say if you wanted the entire form to be a table rather than div based. I've used drupal_render with a form element parameter in a template to draw the individual fields in the form, but make sure you call drupal_render without an argument at the end of the template to populate the rest of the form, such as the form hash etc. as it won't validate.