That looks like a good class to get started, although it would only allow per-stream throttling (instead of per-session or per-user). If the client opens multiple SFTP sessions, or transfers multiple files per session (rare but possible in SFTP protocol), they might get around the bandwidth limit. But perhaps this is not an issue in your scenario.
To give this a try, download Rebex File Server and check out the DriveFileSystemProvider class in FileServerCustomFS_CS sample app. Find the GetContent method, and wrap readWriteStream in ThrottledStream before passing it to NodeContent.CreateImmediateWriteContent method. That should enable per-transfer speed throttling.