We use invoices all the time. You enter the cost of the item and the shipping cost based on your estimate. It goes to the buyer's paypal account, and they can pay it with a couple of clicks.
After they pay, you get notice that they paid the invoice, and have the option to click "ship." It will offer you several options. Select the one you want and hit "print," and you can print the shipping label. If you're shipping flat rate, it's only a click or two to get the label. If you're sending via first class, you have to enter a weight.
If you or your customer make a mistake on the invoice, you can cancel it at any time. If they've already paid, you can even click the box that says "issue a refund."
Negatives? Customers place the order, you send the invoice and they pay. Then they contact you to change the order -- adding something they forgot or reducing the number of something in the order. Not difficult to change, but it happens sometimes.
Another negative: PayPal fees.
I always ask customers to check the shipping address and the items in the order before paying it, and offer an email to make changes. By paying the invoice, they are confirming that it's all correct.