If you are going to be connecting to the internet anyway (and bandwidth isn't an issue) then using NTP cuts down on your parts count a little. How accurate you need the time to be determines how often you need to re-sync. If you just want to turn the porch light on at sunset then a few minutes either way isnt going to matter. If you are trying to catch the green flash then your timing needs to be somewhat more accurate.
If you type "sunset" into the search bar top right of this page you will find lots of useful discussions about how to compute sunrise and sunset. If you are on the internet there are also services like Sunset and sunrise times API - Sunrise-Sunset.org