For some unknown reason we weren't able to rename the remote file using sftp_rename function. Instead we've used the following code:
<?php
    $connection = ssh2_connect('localhost', 22);
    ssh2_auth_password($connection, 'username', 'password');
    $sftp = ssh2_sftp($connection);
    $fromSftpUrl = "ssh2.sftp://{$sftp}/{$path_from}";
    $toSftpUrl = "ssh2.sftp://{$sftp}/{$path_to}";
    $success = rename($fromSftpUrl, $toSftpUrl);
?>