SVG is the best format to use when importing into XD, since then you can be guaranteed it will render crisply for every device (different devices use different pixel-density screens). SVG is also more editable, for example if you wanted to change the color of the icon after importing it into XD, or customize the shape.
Icon fonts should also work fine in XD -- that's the next best thing to importing SVG. It still renders crisply on all devices, and you can customize the color as long as you're ok with the entire icon being all the same color. But it'll be a little clunkier to work with for snapping/resizing, and you can't do more in-depth customization of the icon's appearance.
Pixel-based (raster) assets like PNG are the least ideal for icons. You'll want as large a PNG image as you can get, to ensure the icon doesn't look fuzzy on high-DPI devices like newer iPhones. And you won't be able to change the icon's color in XD -- you'll need an image editor like Photoshop to do that.
If you're importing photographic images or product screenshots into XD, then you'll have to use a raster format like PNG or JPEG -- but that's fine, since that's the use case those formats do best at.
Hope that helps clear up the pros & cons of different formats!