How you send leads to SFDC campaign depends somewhat on how you've setup your campaigns in SFDC.
For example, some people set up campaigns that are always "on" like a "landing page campaign" and then you would have a trigger campaign that listens for the specific form fillout, and then sync the new lead, and assigns to the appropriate campaign. The trigger campaign could be specific to the individual program (or landing page) or it could be broad or categorical: depending on how specific your campaigns are.
Another example is something like a tradeshow, which isn't always "on", so you could upload the list of people you met at the show, sync them to SFDC to the appropriate rep, and then assign to a campaign (could be campaign "trade show X" or a broad campaign for all tradeshows). In this case, it's likely to be sent to a campaign via batch vs trigger.
Hope that makes sense...