Yes, you cannot directly use SFTP from gelscript, only normal ftp tag is supported; however, if you are using any SFTP client script (WINSCP Script) for sending the file , you can send the file SFTP via Winscp script by calling the script from GelSciript and addtionally you can check if from output xml if the file is sent successfully or not.
Sample code
<gel:script
xmlns:core="jelly:core"
xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary"
xmlns:x="jelly:org.apache.commons.jelly.tags.xml.XMLTagLibrary"
xmlns:winscp="http://winscp.net/schema/session/1.0">
<core:set value="winscp424 /console /timeout=180 /script=d:\sftp_test_ray.txt /log=d:\test_ray.xml /parameter test_ray.txt" var="myArgsSFTP"/>
<core:invokeStatic className="java.lang.Runtime"
method="getRuntime" var="javaRuntime"/>
<!--sending the file test_ray.txt using the below code-->
<core:catch var="c_SFTP">
<core:invoke method="exec"
on="${javaRuntime}" var="execSFTP">
<core:arg type="java.lang.String" value="${myArgsSFTP}"/>
</core:invoke>
</core:catch>
<gel:out>Batch Output: ${c_SFTP}</gel:out>
<gel:log>sFTP Messages: ${c_SFTP}</gel:log>
<!--Reading output to check if file sent is successful or not-->
<gel:parse var="xmldoc" file="d:\test_ray.xml" />
<gel:set var="status" select="$xmldoc/winscp:session/winscp:upload/winscp:result/@success" asString="true" />
<gel:out>Successful? - ${status}</gel:out>
</gel:script>
http://winscp.net/eng/docs/scripting#example
in this link you will find the example of WINSCP Scripting.
Dipanjan