<label for="firstname">First name</label>
<input type="text" name="firstname" id="firstname" />
This would make the connection between a field and its label machine-readable, enabling easier handling for accessibility purposes.
Also, this mark-up would be slightly lighter to download that the current <div /> solution.
Thanks to Nico for the suggestion.