Best Practice for CiviEvent using Webform Integration?
I use Webform CiviCRM for many Event and Membership registrations - as the key advantage (unlike in CiviCRM itself) you can expose multiple profiles and store them all with relationship - capturing Primary + Spouse + Children all on one page.

Online payment: yes is possible - generally works for inline Payment Processors such as PayPal Pro and iATS Payments (credit card only at this point - on my ToDo list to get this working w/ ACHEFT via Webform CiviCRM). To get online payment to work - you must set up a Contribution Page even if it's just purely for the purpose of the Webform integration - enable a Payment Processor - Webform CiviCRM will use that info to grab/display the Payment Fields and to submit the payment for processing.

Event: location/date/map -> if you go with Webform Integration - do all that in your Webform - add a Markup Element - and off you go. Once you enable Event Registration in the Webform CiviCRM section you can decide which events and how you'd like to sign people up. How to handle the max participants; if and how to waitlist them - etc. 

Don't forget to use Webform Layout - to help make things easy to CSS - and also don't hesitate to use conditionals to pop up e.g. #civicrm contacts fields (kids) you'd like to register.

To add waitlist functionality:


enable Participant Status - on waitlist in your webform -> you need
to visit: /civicrm/admin/participant_status?reset=1 and enable both
On waitlist as well as Pending from waitlist
you need to reconfigure your webform_civicrm (Registration Status)
and/or Participant Fee (perhaps a smaller fee or no fee) if you're at
the point where you want to start waitlisting people