Allowing them to use a link means they can change the photo later to an "inappropriate" one and I would think most people would prefer to upload a photo. Basically you have no control over the photo.
You have a lot more control if the photo is uploaded to your server. I would have thought a clause in your terms and a note in the upload form saying the photo must be their property would cover you from any problems.
I recommend you have a terms and conditions page with a box the user has to select on the upload form to cover yourself. You would need to think of what you could get in trouble for and say you are not responsable for it!
Personally I would moderate each post before it was displayed but this could cause a long delay if the post was made at night or while you are on holiday.