The XML file approach requires you to write more code and you'll need to store the path to the XML file somewhere in your app. However, it does allow you to have multiple XML files that you can choose between, which is useful if you need to switch your app between different configurations.
The app.config approach has lots of config management code already written (ConfigurationManager and/or Properties.Settings etc) so is easier and it allows each user to have their own settings created for them automatically when they install your app. However, you can't readily choose between different app.configs if that matters.
You can do both and store some settings in app.config and other settings in an XML file with the path to the XML file stored in app.config.