I would definitely suggest going with Express Checkout if this will work for you. As for paying by credit card with this method that is controlled through something called PayPal Account Optional. You might have a setting for this in your profile on PayPal. With this option turned on you can have the user login to PayPal to pay or they can click on a link on the left of the page that says 'continue checkout'. In all of my testing I have this option available to me so it seems to be pretty standard.
You should check this out to see if it is what you need for the checkout.