The iframe solution you're referring to is called Payments Advanced. To my knowledge recurring billing is not yet included with Advanced.
The full PayPal Pro would give you access to create profiles with cards directly like you mentioned, or if you want to let them do it with payPal you would send them through the Express Checkout flow, and that's where you would be creating the billing agreement and the profile accordingly.
Specifically, you'll call SetExpressCheckout to obtain a token, and this is the request you need to make sure to include the billing agreement parameters with.
GetExpressCheckoutDetails would then allow you to obtain buyer info after they've signed in and agreed to continue.
Then for recurring payments you'd finish it all off with CreateRecurringPaymentsProfile.
If you're doing all of this with PHP I'd recommend taking a look at my class library for PayPal. It'll make these API calls very simple for you.