The built in SSH server will handle the SFTP server for you.
For a GUI program I typically just use Filezilla. It might do SCP (haven't tried) but it definitely does SFTP and has a good enough GUI. Plus it's cross platform so you get the same mediocre ass UI everywhere.