The choice is really up to you and there are advantages/disadvantages to the different approaches
1) Use the import.sql approach. This is useful for teams developing their own Broadleaf implementation, as it allows developers to enter the data necessary to support their features as they develop them and have that data become part of the project. This means that your developers can work locally, away from a dev database.
2) Write a program that uses JPA/Hibernate to create and persist entities. In this one, you don't have to worry about primary and foreign key creation. More work, though.
3) Use some other tool to import data into the database from some source.
It's on our roadmap in the future to provide a batch import feature in the admin, but this is more of a production/merchandiser feature than a development feature.